Function at 0x42d200
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x521840
mov eax, dword fs:[0]
push eax
mov eax, 0x1268
call fcn.004f85b0
mov eax, dword [0x58b18c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x117c], esi
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x114c], eax
mov eax, edi
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x1168], ecx
mov dword [ebp - 0x116c], 0
mov dword [ebp - 0x1164], 0
jb 0x42d26c
mov eax, dword [edi]
mov edx, ecx
mov dword [edi + 0x10], 0
lea ecx, [ebp - 0x10b4]
mov byte [eax], 0
call fcn.0042b490
push dword [ebp + 0xc]
lea eax, [ebp - 0x10b4]
push eax
lea ecx, [ebp - 0x10e8]
call fcn.0042fed0
lea ecx, [ebp - 0x103c]
mov dword [ebp - 0x1068], 0
push ecx
push ecx
lea ecx, [ebp - 0x1080]
mov dword [ebp - 0x1080], 2
push ecx
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x107c], 0
lea ecx, [ebp - 0x101c]
mov dword [ebp - 0x101c], eax
xorps xmm0, xmm0
mov dword [ebp - 0x103c], 0
lea eax, [esi + 0x28]
movlpd qword [ebp - 0x1078], xmm0
push ecx
push eax
movlpd qword [ebp - 0x1070], xmm0
mov dword [ebp - 0x1038], 0x58bc30
mov dword [ebp - 0x1018], 0x1000
call fcn.00432b40
cmp dword [ebp - 0x103c], 0
mov esi, eax
mov dword [ebp - 0x1154], esi
jne 0x42d93d
nop word [eax + eax]
cmp esi, 0x1000
jae 0x42f602
lea eax, [ebp - 0x1010]
mov ecx, 0x598d60
add eax, esi
push esi
mov dword [ebp - 0x1160], eax
mov byte [eax], 0
call fcn.0040eb30
xorps xmm0, xmm0
mov dword [ebp - 0x109c], 0
lea edx, [ebp - 0x10b4]
movlpd qword [ebp - 0x10ac], xmm0
lea ecx, [ebp - 0x1080]
movlpd qword [ebp - 0x10a4], xmm0
mov dword [ebp - 0x10b4], 2
mov dword [ebp - 0x10b0], 0
call fcn.0042b590
test al, al
jne 0x42d3b7
lea edx, [ebp - 0x1080]
lea ecx, [ebp - 0x10e8]
call fcn.0042b590
test al, al
je 0x42d5f6
test esi, esi
je 0x42d5f6
push 1
mov dword [ebp - 4], 0
call fcn.004f4d9d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1014], ecx
xor edx, edx
cmp byte [ebp - 0x1010], dl
je 0x42d3fc
inc edx
cmp edx, 0x1000
je 0x42d3f7
cmp byte [ebp + edx - 0x1010], 0
jne 0x42d3e2
jmp 0x42d3fc
mov edx, 0x1000
xor eax, eax
nop
inc eax
cmp byte [eax + str.print_n], 0
jne 0x42d400
test edx, edx
je 0x42d43a
test eax, eax
je 0x42d43a
cmp eax, edx
ja 0x42d43a
push eax
push str.print_n
push 0
lea ecx, [ebp - 0x1010]
call fcn.00432150
mov ecx, dword [ebp - 0x1014]
add esp, 0xc
mov dword [ebp - 0x115c], eax
jmp 0x42d444
mov dword [ebp - 0x115c], 0xffffffff
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x42d462
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, eax
test ecx, ecx
je 0x42d462
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
sub eax, edx
mov ecx, dword [ebp - 0x115c]
cmp ecx, 0xffffffff
je 0x42d4dc
lea ecx, [ebp + ecx - 0x100a]
mov dword [ebp - 0x1140], ecx
mov ecx, dword [ebp - 0x1160]
sub ecx, dword [ebp - 0x1140]
mov dword [ebp - 0x1160], ecx
cmp ecx, eax
ja 0x42d4cc
cmp dword [edi + 0x14], 0x10
lea eax, [edx + ecx]
mov dword [edi + 0x10], eax
mov esi, edi
jb 0x42d4a8
mov esi, dword [edi]
push ecx
push dword [ebp - 0x1140]
add esi, edx
push esi
call fcn.005005e0
mov eax, dword [ebp - 0x1160]
add esp, 0xc
mov byte [esi + eax], 0
mov esi, dword [ebp - 0x1154]
jmp 0x42d53e
push ecx
push dword [ebp - 0x1140]
push dword [ebp - 0x1018]
push ecx
jmp 0x42d537
cmp esi, eax
ja 0x42d528
cmp dword [edi + 0x14], 0x10
lea eax, [edx + esi]
mov dword [ebp - 0x1014], eax
mov ecx, edi
mov dword [edi + 0x10], eax
mov dword [ebp - 0x115c], edi
jb 0x42d502
mov ecx, dword [edi]
mov dword [ebp - 0x115c], ecx
lea eax, [edx + ecx]
push esi
lea ecx, [ebp - 0x1010]
push ecx
push eax
call fcn.005005e0
mov eax, dword [ebp - 0x115c]
add esp, 0xc
mov ecx, dword [ebp - 0x1014]
mov byte [ecx + eax], 0
jmp 0x42d53e
push esi
lea eax, [ebp - 0x1010]
push eax
push dword [ebp - 0x1018]
push esi
mov ecx, edi
call fcn.00418a60
cmp dword [edi + 0x14], 0x10
mov ecx, edi
mov eax, dword [edi + 0x10]
jb 0x42d54b
mov ecx, dword [edi]
push 0xf
push str.map_rotate..._n_n
push 0
mov edx, eax
call fcn.00432150
add esp, 0xc
cmp eax, 0xffffffff
jne 0x42d5bf
cmp dword [edi + 0x14], 0x10
mov ecx, edi
jb 0x42d56d
mov ecx, dword [edi]
mov edx, dword [edi + 0x10]
push 0x16
push str._ShutdownGame_
push 0
call fcn.00432150
add esp, 0xc
cmp eax, 0xffffffff
jne 0x42d5bf
add dword [ebp - 0x1164], esi
mov eax, edi
cmp dword [edi + 0x14], 0x10
jb 0x42d596
mov eax, dword [edi]
mov esi, dword [edi + 0x10]
lea ecx, [ebp - 0x118c]
push 0x55eb20
mov dword [ebp - 0x118c], eax
mov dword [ebp - 0x1188], esi
call fcn.00430520
test al, al
jne 0x42d6b1
jmp 0x42d5c8
add dword [ebp - 0x1164], esi
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x42d5d2
mov eax, dword [edi]
push str.____________________________________n____________________________________n
lea ecx, [ebp - 0x1184]
mov dword [ebp - 0x1184], eax
mov dword [ebp - 0x1180], esi
call fcn.00430520
test al, al
jne 0x42d6b1
mov edx, dword [ebp - 0x1168]
lea ecx, [ebp - 0x10b4]
call fcn.0042b490
push dword [ebp + 0xc]
lea eax, [ebp - 0x10b4]
push eax
lea ecx, [ebp - 0x10e8]
call fcn.0042fed0
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x101c], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x103c]
movlpd qword [ebp - 0x1078], xmm0
push eax
push ecx
lea eax, [ebp - 0x1080]
movlpd qword [ebp - 0x1070], xmm0
push eax
lea eax, [ebp - 0x101c]
mov dword [ebp - 0x1080], 2
push eax
mov eax, dword [ebp - 0x117c]
add eax, 0x28
mov dword [ebp - 0x107c], 0
push eax
mov dword [ebp - 0x103c], 0
mov dword [ebp - 0x1038], 0x58bc30
mov dword [ebp - 0x1018], 0x1000
call fcn.00432b40
cmp dword [ebp - 0x103c], 0
mov esi, eax
mov dword [ebp - 0x1154], eax
je 0x42d330
cmp dword [ebp - 0x1164], 0
jbe 0x42d93d
mov esi, dword [edi + 0x14]
mov eax, edi
cmp esi, 0x10
jb 0x42d6ca
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x1038], ecx
lea ecx, [ebp - 0x103c]
push str.Invalid_password.
mov dword [ebp - 0x103c], eax
call fcn.00415fe0
test al, al
jne 0x42f5a1
mov eax, edi
cmp esi, 0x10
jb 0x42d6fa
mov eax, dword [edi]
mov dword [ebp - 0x103c], eax
lea ecx, [ebp - 0x103c]
mov eax, dword [edi + 0x10]
push str.Bad_rcon
mov dword [ebp - 0x1038], eax
call fcn.00415fe0
test al, al
jne 0x42f5a1
mov edx, dword [0x598d9c]
lea ecx, [ebp - 0x103c]
mov dword [ebp - 0x1188], edx
call fcn.0042b730
push 0
push dword [ebp - 0x103c]
mov ecx, edi
call fcn.00430070
cmp eax, 0xffffffff
jne 0x42dc95
mov eax, dword [ebp - 0x1038]
test eax, eax
je 0x42d76d
push 0
push eax
mov ecx, edi
call fcn.00430070
cmp eax, 0xffffffff
jne 0x42dc95
push 0
push str.Server_info
mov ecx, edi
call fcn.00430070
cmp eax, 0xffffffff
je 0x42d960
mov ecx, 0x599438
call fcn.0042fa00
mov ecx, edi
call fcn.00414ac0
cmp byte [eax + 0x20], 0
lea ecx, [eax + 0x20]
je 0x42d93d
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x42d7ac
mov eax, dword [edi]
add eax, dword [ebp - 0x1164]
cmp ecx, eax
jae 0x42d93d
cmp byte [ecx], 0x20
mov esi, ecx
je 0x42d7c7
inc esi
cmp byte [esi], 0x20
jne 0x42d7c1
mov dword [ebp - 0x103c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1038], 0
movups xmmword [ebp - 0x104c], xmm0
cmp ecx, esi
jne 0x42d806
mov dword [ebp - 0x103c], 0
mov dword [ebp - 0x1038], 0xf
mov byte [ebp - 0x104c], 0
jmp 0x42d817
mov eax, esi
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x104c]
call fcn.004185e0
mov dword [ebp - 4], 0x11
mov cl, byte [esi]
cmp cl, 0x20
jne 0x42d82e
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x42d825
mov dword [ebp - 0x115c], esi
mov eax, esi
cmp cl, 0xa
je 0x42d84c
nop dword [eax + eax]
inc eax
cmp byte [eax], 0xa
jne 0x42d840
mov dword [ebp - 0x115c], eax
mov dword [ebp - 0x1088], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1084], 0
movups xmmword [ebp - 0x1098], xmm0
cmp esi, eax
jne 0x42d88b
mov dword [ebp - 0x1088], 0
mov dword [ebp - 0x1084], 0xf
mov byte [ebp - 0x1098], 0
jmp 0x42d8a0
sub eax, esi
lea ecx, [ebp - 0x1098]
push eax
push esi
call fcn.004185e0
mov eax, dword [ebp - 0x115c]
mov ecx, dword [ebp - 0x114c]
inc eax
mov byte [ebp - 4], 0x12
sub esp, 0x18
movups xmm0, xmmword [ebp - 0x1098]
mov dword [ebp - 0x117c], eax
mov eax, esp
sub esp, 0x18
mov byte [ebp - 0x1098], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x1088]
movq qword [eax + 0x10], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x104c]
mov dword [ebp - 0x1088], 0
mov dword [ebp - 0x1084], 0xf
movups xmmword [eax], xmm0
mov byte [ebp - 0x104c], 0
movq xmm0, qword [ebp - 0x103c]
movq qword [eax + 0x10], xmm0
mov dword [ebp - 0x103c], 0
mov dword [ebp - 0x1038], 0xf
call fcn.004b8ab0
mov ecx, dword [ebp - 0x117c]
add esp, 0x30
mov dword [ebp - 4], 0xffffffff
cmp byte [ecx], 0
jne 0x42d7a2
mov eax, dword [ebp - 0x1164]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f7466
mov esp, ebp
pop ebp
ret 0x14
push 0
push str.map_rotate..._n_n
mov ecx, edi
call fcn.00430070
mov ecx, edi
cmp eax, 0xffffffff
je 0x42d99b
mov byte [0x598d6b], 1
call fcn.00414ac0
push 1
push ecx
push 1
push 1
push ecx
mov ecx, dword [0x598c18]
mov edx, eax
call fcn.004b4380
add esp, 0x14
jmp 0x42d93d
push 0
push str._sv_mapRotationCurrent__is:__
call fcn.00430070
mov esi, eax
cmp esi, 0xffffffff
je 0x42da88
push 0
push str.default:__
mov ecx, edi
call fcn.00430070
cmp eax, 0xffffffff
je 0x42da88
add esi, 0x1d
mov byte [0x598d6b], 1
push esi
push str.7_
mov ecx, edi
call fcn.00414a40
mov ecx, eax
cmp ecx, 0xffffffff
je 0x42d93d
sub esp, 0x18
sub ecx, esi
mov eax, esp
push ecx
push esi
push eax
mov ecx, edi
call fcn.004149e0
mov ecx, dword [ebp - 0x114c]
call fcn.0042ba00
mov ecx, edi
call fcn.00414ac0
push str.gametype
lea edi, [esi + eax]
push edi
call fcn.00500370
add esp, 8
test eax, eax
je 0x42d93d
push 0x55ebe8
push edi
call fcn.00500370
add esp, 8
test eax, eax
je 0x42d93d
mov cl, byte [eax + 4]
add eax, 4
cmp cl, 0x20
jne 0x42da51
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x42da48
mov edx, eax
cmp cl, 0x5e
je 0x42da6b
cmp cl, 0x37
je 0x42da6b
cmp cl, 0x22
je 0x42da6b
mov cl, byte [edx + 1]
inc edx
cmp cl, 0x20
jne 0x42da53
sub esp, 0x18
mov ecx, esp
push ecx
push edx
push eax
call fcn.00431750
mov ecx, dword [ebp - 0x114c]
call fcn.0042b960
jmp 0x42d93d
push 0
push str._sv_mapRotation__is:__
mov ecx, edi
call fcn.00430070
mov esi, eax
cmp esi, 0xffffffff
je 0x42daf3
push 0
push str.default:__
mov ecx, edi
call fcn.00430070
cmp eax, 0xffffffff
je 0x42daf3
add esi, 0x16
mov byte [0x598d6b], 1
push esi
push str.7_
mov ecx, edi
call fcn.00414a40
mov ecx, eax
cmp ecx, 0xffffffff
je 0x42d93d
sub esp, 0x18
sub ecx, esi
mov eax, esp
push ecx
push esi
push eax
mov ecx, edi
call fcn.004149e0
mov ecx, dword [ebp - 0x114c]
call fcn.0042b9b0
jmp 0x42d93d
push 0
push str.sv_hostname
mov ecx, edi
call fcn.00430070
mov ecx, edi
cmp eax, 0xffffffff
je 0x42db51
mov byte [0x598d6b], 1
call fcn.00414ac0
add eax, 0x1d
mov esi, eax
cmp byte [eax], 0x5e
je 0x42db34
nop
mov dl, byte [eax + 1]
cmp dl, 0x37
je 0x42db34
cmp byte [eax + 2], 0x22
je 0x42db34
inc eax
cmp dl, 0x5e
jne 0x42db20
sub esp, 0x18
mov ecx, esp
push ecx
push eax
push esi
call fcn.00431750
mov ecx, dword [ebp - 0x114c]
call fcn.0042b8c0
jmp 0x42d93d
push 0
push str._mapname__is:__
call fcn.00430070
mov esi, eax
cmp esi, 0xffffffff
je 0x42dc83
push 0
push str.default:__
mov ecx, edi
call fcn.00430070
cmp eax, 0xffffffff
je 0x42dc83
add esi, 0xf
mov byte [0x598d6b], 1
push esi
push str.7_
mov ecx, edi
call fcn.00414a40
cmp eax, 0xffffffff
je 0x42d93d
sub eax, esi
mov ecx, edi
push eax
push esi
lea eax, [ebp - 0x107c]
push eax
call fcn.004149e0
mov dword [ebp - 4], 0x13
cmp dword [0x58f2d0], 0
je 0x42dbd9
mov edx, 0x58f2c0
lea ecx, [ebp - 0x107c]
call fcn.00417ad0
test al, al
jne 0x42dc57
mov esi, dword [ebp - 0x114c]
mov ecx, 0x8edc18
mov dword [0x598cf4], 0
mov edx, dword [esi + 0x144]
push edx
mov eax, dword [edx]
mov dword [0x598cf0], eax
call fcn.0042bb60
lea eax, [ebp - 0x107c]
mov ecx, 0x58f2c0
push eax
call fcn.004300f0
sub esp, 0x18
lea ecx, [ebp - 0x126c]
call fcn.0042b7b0
push ecx
mov edx, eax
mov byte [ebp - 4], 0x14
lea ecx, [esi + 0x144]
call fcn.004319b0
add esp, 4
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x126c]
call fcn.0042ba50
mov ecx, dword [0x598c08]
sub esp, 8
xor edx, edx
call fcn.004b7640
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x107c]
mov ecx, esp
push eax
call fcn.00414e10
mov ecx, dword [ebp - 0x114c]
call fcn.0042b910
lea ecx, [ebp - 0x107c]
call fcn.00414d40
jmp 0x42d93d
mov edx, dword [ebp - 0x114c]
mov ecx, edi
call fcn.004cd4c0
jmp 0x42d93d
cmp byte [0x598d6b], 0
jne 0x42dcb1
mov dl, 1
mov byte [0x598d6b], 1
mov ecx, 1
call fcn.004c8fd0
mov ecx, edi
call fcn.00414ac0
mov cl, byte [eax + 5]
add eax, 5
mov esi, eax
cmp cl, 0xa
je 0x42dcd3
cmp cl, 0x3d
je 0x42dcd3
mov cl, byte [esi + 1]
inc esi
cmp cl, 0xa
jne 0x42dcc5
push ecx
push esi
push eax
lea ecx, [ebp - 0x107c]
call fcn.00431750
mov edx, str.__t_n_f_v_r
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x107c]
call fcn.00430f00
cmp dword [0x58f2d0], 0
je 0x42dd19
mov edx, 0x58f2c0
lea ecx, [ebp - 0x107c]
call fcn.00417ad0
test al, al
jne 0x42dd9d
mov eax, dword [ebp - 0x114c]
mov dword [0x598cf4], 0
mov ecx, dword [eax + 0x144]
push ecx
mov eax, dword [ecx]
mov ecx, 0x8edc18
mov dword [0x598cf0], eax
call fcn.0042bb60
lea eax, [ebp - 0x107c]
mov ecx, 0x58f2c0
push eax
call fcn.004300f0
sub esp, 0x18
lea ecx, [ebp - 0x126c]
call fcn.0042b7b0
push ecx
mov ecx, dword [ebp - 0x114c]
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ecx + 0x144]
call fcn.004319b0
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x126c]
call fcn.0042ba50
mov ecx, dword [0x598c08]
sub esp, 8
xor edx, edx
call fcn.004b7640
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x107c]
mov ecx, esp
push eax
call fcn.00414ed0
mov ecx, dword [ebp - 0x114c]
call fcn.0042b910
mov ecx, edi
call fcn.00414ac0
sub esi, eax
mov ecx, edi
inc esi
push esi
push str.0123456789
call fcn.00414a40
mov dword [ebp - 0x1014], eax
cmp eax, 0xffffffff
jne 0x42de1f
mov ecx, edi
call fcn.004300d0
mov ecx, 0x599440
call fcn.0042f990
mov eax, dword [ebp - 0x114c]
xor esi, esi
mov ecx, 0x8edc18
mov dword [ebp - 0x1180], esi
xor edi, edi
mov dword [0x598cf4], esi
mov edx, dword [eax + 0x144]
push edx
mov eax, dword [edx]
mov dword [0x598cf0], eax
call fcn.0042bb60
jmp 0x42f4f8
mov edx, edi
lea ecx, [ebp - 0x1018]
call fcn.00431a20
lea ecx, [ebp - 0x1168]
mov esi, dword [eax]
call fcn.00431a20
mov ecx, dword [ebp - 0x1014]
add ecx, esi
push ecx
push dword [eax]
lea eax, [ebp - 0x1014]
mov ecx, edi
push eax
call fcn.00414b50
mov ecx, 0x599440
call fcn.0042f990
push ecx
push 1
sub esp, 8
mov dword [ebp - 0x1160], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1180], 0
mov edx, edi
mov dword [ebp - 0x1178], 0
lea ecx, [ebp - 0x108c]
movq qword [ebp - 0x108c], xmm0
push 0x55eb94
mov dword [ebp - 0x1084], 0
call fcn.00431190
add esp, 0x14
xor ecx, ecx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1088]
mov esi, dword [ebp - 0x108c]
mov dword [ebp - 0x115c], eax
mov dword [ebp - 0x1144], ecx
mov ecx, eax
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42e13e
xor edi, edi
xor eax, eax
mov dword [ebp - 0x1140], edi
mov dword [ebp - 0x1160], eax
mov dword [ebp - 0x1180], eax
mov dword [ebp - 0x1178], eax
nop
add edi, esi
mov dword [ebp - 0x115c], edi
cmp dword [edi + 0x14], 0x10
jb 0x42df18
mov eax, dword [edi]
mov dword [ebp - 0x115c], eax
jmp 0x42df1a
mov eax, edi
mov edi, dword [edi + 0x10]
push 0x38
add edi, eax
lea eax, [ebp - 0x1104]
push 0
push eax
call fcn.00500b60
xorps xmm0, xmm0
mov dword [ebp - 0x1104], 0
add esp, 0xc
mov byte [ebp - 0x1100], 0
movups xmmword [ebp - 0x10fc], xmm0
mov dword [ebp - 0x10ec], 0
mov byte [ebp - 0x10e8], 0
mov dword [ebp - 0x10e4], 0
mov dword [ebp - 0x10e0], 0
mov byte [ebp - 0x10dc], 0
mov dword [ebp - 0x10d8], 0
mov dword [ebp - 0x10d4], 0
mov byte [ebp - 0x10d0], 0
xor esi, esi
movq qword [ebp - 0x1040], xmm0
mov dword [ebp - 0x1040], esi
mov dword [ebp - 0x103c], esi
mov dword [ebp - 0x1038], esi
mov eax, dword [ebp - 0x115c]
mov edx, 0x598d18
push eax
push ecx
push edi
push eax
lea ecx, [ebp - 0x1104]
mov byte [ebp - 4], 8
call fcn.0041ac10
add esp, 0x10
test al, al
je 0x42e078
nop dword [eax]
inc esi
mov dword [ebp - 0x1168], esi
cmp esi, 2
je 0x42e1c0
mov ecx, dword [ebp - 0x10f8]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x10fc]
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
ja 0x42e01b
lea esi, [ebp - 0x10d8]
jmp 0x42e01e
add esi, 0xc
mov eax, dword [ebp - 0x103c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x1014], esi
cmp eax, dword [ebp - 0x1038]
je 0x42e040
mov dword [eax], esi
add dword [ebp - 0x103c], 4
jmp 0x42e053
lea ecx, [ebp - 0x1014]
push ecx
push eax
lea ecx, [ebp - 0x1040]
call fcn.00432d40
push esi
push ecx
push edi
push esi
mov edx, 0x598d18
lea ecx, [ebp - 0x1104]
call fcn.0041ac10
mov esi, dword [ebp - 0x1168]
add esp, 0x10
test al, al
jne 0x42dfe0
mov esi, dword [ebp - 0x1144]
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1040]
test ecx, ecx
je 0x42e0e4
mov eax, dword [ebp - 0x1038]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x42e0bc
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42f607
push edx
push ecx
call fcn.004f79ae
add esp, 8
mov dword [ebp - 0x1040], 0
mov dword [ebp - 0x103c], 0
mov dword [ebp - 0x1038], 0
lea ecx, [ebp - 0x10fc]
mov byte [ebp - 4], 6
call fcn.00412e20
mov eax, dword [ebp - 0x1088]
inc esi
mov edi, dword [ebp - 0x1140]
mov ecx, eax
mov dword [ebp - 0x115c], eax
add edi, 0x18
mov dword [ebp - 0x1144], esi
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x108c]
sub ecx, esi
imul ecx
mov ecx, dword [ebp - 0x1144]
sar edx, 2
mov eax, edx
mov dword [ebp - 0x1140], edi
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jb 0x42df00
cmp esi, dword [ebp - 0x115c]
je 0x42f482
nop word [eax + eax]
push ecx
mov edx, 0x598d18
mov ecx, esi
call fcn.00431a40
add esp, 4
test al, al
jne 0x42e17c
push ecx
mov edx, 0x598d04
mov ecx, esi
call fcn.00431a40
add esp, 4
test al, al
je 0x42f473
mov ecx, dword [esi + 0x14]
xor edi, edi
mov dword [ebp - 0x1140], edi
mov dword [ebp - 0x1174], edi
nop dword [eax]
mov eax, esi
cmp ecx, 0x10
jb 0x42e199
mov eax, dword [esi]
mov al, byte [eax + edi]
cmp al, 0x20
je 0x42e1b4
cmp al, 9
je 0x42e1b4
cmp al, 0xa
je 0x42e1b4
cmp al, 0xc
je 0x42e1b4
cmp al, 0xb
jne 0x42e250
cmp edi, 3
jge 0x42e250
inc edi
jmp 0x42e190
mov eax, dword [ebp - 0x1040]
push ecx
push edi
lea ecx, [ebp - 0x10b0]
push dword [eax]
call fcn.00417b60
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x108c]
mov esi, dword [ebp - 0x1144]
push esi
call fcn.00413dc0
mov ecx, eax
mov eax, dword [ebp - 0x1040]
push edi
push dword [eax]
lea eax, [ebp - 0x1018]
push eax
call fcn.00414b50
mov eax, dword [ebp - 0x108c]
lea ecx, [ebp - 0x1014]
mov dword [ebp - 0x1014], eax
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x1154]
push eax
call fcn.0042f950
lea ecx, [ebp - 0x10b0]
push ecx
lea ecx, [ebp - 0x108c]
push dword [eax]
lea eax, [ebp - 0x1170]
push eax
call fcn.0042fd90
lea ecx, [ebp - 0x10b0]
call fcn.00414d40
jmp 0x42e07e
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e25a
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.00509860
add esp, 4
test eax, eax
je 0x42e2a9
cmp edi, 3
jge 0x42e2a9
mov edx, dword [ebp - 0x1140]
cmp edx, 2
jge 0x42e2a9
mov eax, dword [ebp - 0x1174]
lea ecx, [eax + eax*4]
mov eax, esi
add ecx, ecx
cmp dword [esi + 0x14], 0x10
jb 0x42e290
mov eax, dword [esi]
movsx eax, byte [edi + eax]
inc edx
add eax, 0xffffffd0
mov dword [ebp - 0x1140], edx
add eax, ecx
inc edi
mov dword [ebp - 0x1174], eax
jmp 0x42e250
mov ecx, dword [ebp - 0x1174]
cmp ecx, 0x40
jl 0x42e2cc
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
dec edi
mov dword [ebp - 0x1174], eax
lea eax, [edi + 6]
xor ecx, ecx
mov dword [ebp - 0x1140], eax
mov dword [ebp - 0x1170], ecx
cmp edi, eax
jge 0x42e315
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e2eb
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.00509860
add esp, 4
test eax, eax
jne 0x42e315
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e306
mov eax, dword [esi]
cmp byte [edi + eax], 0x2d
je 0x42e315
inc edi
cmp edi, dword [ebp - 0x1140]
jl 0x42e2e1
mov edx, dword [esi + 0x14]
mov eax, esi
cmp edx, 0x10
jb 0x42e321
mov eax, dword [esi]
mov al, byte [eax + edi]
mov byte [ebp - 0x1145], al
cmp al, 0x2d
jne 0x42e330
inc edi
nop
mov eax, esi
cmp edx, 0x10
jb 0x42e339
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.00509860
add esp, 4
test eax, eax
je 0x42e37a
cmp edi, dword [ebp - 0x1140]
jge 0x42e37a
mov eax, dword [ebp - 0x1170]
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*4]
mov eax, esi
add ecx, ecx
cmp edx, 0x10
jb 0x42e369
mov eax, dword [esi]
movsx eax, byte [edi + eax]
add ecx, 0xffffffd0
add ecx, eax
mov dword [ebp - 0x1170], ecx
jmp 0x42e32e
cmp byte [ebp - 0x1145], 0x2d
jne 0x42e391
mov eax, dword [ebp - 0x1170]
neg eax
mov dword [ebp - 0x1170], eax
mov edx, dword [esi + 0x14]
lea ecx, [edi + 5]
mov eax, esi
cmp edx, 0x10
jb 0x42e3a0
mov eax, dword [esi]
mov al, byte [eax + edi]
cmp al, 0x20
je 0x42e3b7
cmp al, 9
je 0x42e3b7
cmp al, 0xa
je 0x42e3b7
cmp al, 0xc
je 0x42e3b7
cmp al, 0xb
jne 0x42e3be
cmp edi, ecx
jge 0x42e3be
inc edi
jmp 0x42e397
xor ecx, ecx
mov dword [ebp - 0x1154], edi
mov dword [ebp - 0x1144], ecx
mov dword [ebp - 0x1158], ecx
mov edx, dword [esi + 0x14]
mov eax, esi
cmp edx, 0x10
jb 0x42e3de
mov eax, dword [esi]
mov al, byte [eax + edi]
cmp al, 0x20
je 0x42e4e7
cmp al, 9
je 0x42e4e7
cmp al, 0xa
je 0x42e4e7
cmp al, 0xc
je 0x42e4e7
cmp al, 0xb
je 0x42e4e7
mov eax, esi
cmp edx, 0x10
jb 0x42e412
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.005097d0
add esp, 4
test eax, eax
jne 0x42e437
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e42d
mov eax, dword [esi]
cmp byte [edi + eax], 0x2d
jne 0x42e4e1
cmp dword [ebp - 0x1158], 3
mov ecx, dword [ebp - 0x1144]
jge 0x42e4e7
cmp ecx, 4
jge 0x42e4e7
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e45d
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.00509860
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x1158]
je 0x42e47b
inc eax
mov dword [ebp - 0x1158], eax
mov ecx, dword [ebp - 0x1144]
inc edi
inc ecx
mov dword [ebp - 0x1144], ecx
cmp ecx, 2
jne 0x42e3d2
cmp eax, 1
jne 0x42e3d2
push dword [ebp - 0x1154]
mov ecx, esi
call fcn.00414b10
mov ecx, dword [ebp - 0x1144]
cmp byte [eax], 0x2d
jne 0x42e3d2
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e4c1
mov eax, dword [esi]
mov ecx, dword [ebp - 0x1154]
cmp byte [eax + ecx + 1], 0x31
mov ecx, dword [ebp - 0x1144]
jne 0x42e3d2
mov edi, dword [ebp - 0x1154]
add edi, 2
mov ecx, dword [ebp - 0x1144]
mov eax, dword [esi + 0x10]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x1154]
mov dword [ebp - 0x10bc], 0
mov dword [ebp - 0x10b8], 0
movups xmmword [ebp - 0x10cc], xmm0
cmp eax, edx
jb 0x42f60c
sub eax, edx
cmp eax, ecx
cmovb ecx, eax
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e527
mov eax, dword [esi]
push ecx
add eax, edx
lea ecx, [ebp - 0x10cc]
push eax
call fcn.004185e0
or dword [ebp - 0x116c], 0x400
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x10cc]
cmp dword [ebp - 0x10b8], 0x10
mov eax, dword [ebp - 0x10bc]
cmovae ecx, dword [ebp - 0x10cc]
setae dl
mov dword [ebp - 0x1140], 0
mov byte [ebp - 0x1145], dl
mov dword [ebp - 0x1144], eax
cmp eax, 3
jne 0x42e608
sub eax, 4
mov edx, 0x55eac8
mov dword [ebp - 0x1150], eax
jb 0x42e5ad
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42e5b2
mov eax, dword [ebp - 0x1150]
add ecx, 4
add edx, 4
sub eax, 4
mov dword [ebp - 0x1150], eax
jae 0x42e590
cmp eax, 0xfffffffc
je 0x42e5f2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42e5eb
cmp dword [ebp - 0x1150], 0xfffffffd
je 0x42e5f2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42e5eb
cmp dword [ebp - 0x1150], 0xfffffffe
je 0x42e5f2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42e5eb
cmp dword [ebp - 0x1150], 0xffffffff
je 0x42e5f2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x42e5f2
sbb eax, eax
or eax, 1
jmp 0x42e5f4
xor eax, eax
test eax, eax
je 0x42e6b5
mov eax, dword [ebp - 0x1144]
mov dl, byte [ebp - 0x1145]
test dl, dl
lea ecx, [ebp - 0x10cc]
cmovne ecx, dword [ebp - 0x10cc]
cmp eax, 2
jne 0x42e698
sub eax, 4
mov edx, 0x55eacc
mov dword [ebp - 0x1144], eax
jb 0x42e64d
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42e652
mov eax, dword [ebp - 0x1144]
add ecx, 4
add edx, 4
sub eax, 4
mov dword [ebp - 0x1144], eax
jae 0x42e630
cmp eax, 0xfffffffc
je 0x42e692
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42e68b
cmp dword [ebp - 0x1144], 0xfffffffd
je 0x42e692
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42e68b
cmp dword [ebp - 0x1144], 0xfffffffe
je 0x42e692
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42e68b
cmp dword [ebp - 0x1144], 0xffffffff
je 0x42e692
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x42e692
sbb eax, eax
or eax, 1
jmp 0x42e694
xor eax, eax
test eax, eax
je 0x42e6b5
lea edx, [ebp - 0x1140]
lea ecx, [ebp - 0x10cc]
call fcn.00498480
test al, al
je 0x42e6b5
inc dword [ebp - 0x1160]
jmp 0x42e6bb
inc dword [ebp - 0x1180]
mov eax, dword [ebp - 0x1188]
cmp eax, 1
je 0x42e6d0
cmp eax, 2
mov eax, 0x21
jne 0x42e6d5
mov eax, 8
mov edx, dword [esi + 0x14]
add eax, edi
mov dword [ebp - 0x1144], eax
mov ecx, esi
cmp edx, 0x10
jb 0x42e6e9
mov ecx, dword [esi]
mov cl, byte [edi + ecx]
cmp cl, 0x20
je 0x42e705
cmp cl, 9
je 0x42e705
cmp cl, 0xa
je 0x42e705
cmp cl, 0xc
je 0x42e705
cmp cl, 0xb
jne 0x42e70c
cmp edi, eax
jge 0x42e70c
inc edi
jmp 0x42e6e0
mov eax, dword [ebp - 0x1188]
mov dword [ebp - 0x1140], edi
cmp eax, 1
je 0x42e748
cmp eax, 2
je 0x42e748
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e72c
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.00509b30
add esp, 4
test eax, eax
je 0x42e76e
cmp edi, dword [ebp - 0x1144]
jge 0x42e76e
inc edi
jmp 0x42e722
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e752
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.00509860
add esp, 4
test eax, eax
je 0x42e76e
cmp edi, dword [ebp - 0x1144]
jge 0x42e76e
inc edi
jmp 0x42e748
mov eax, dword [esi + 0x10]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x1140]
mov dword [ebp - 0x10a0], 0
mov dword [ebp - 0x109c], 0
movups xmmword [ebp - 0x10b0], xmm0
cmp eax, edx
jb 0x42f60c
sub eax, edx
mov ecx, edi
sub ecx, edx
cmp eax, ecx
cmovb ecx, eax
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42e7b2
mov eax, dword [esi]
push ecx
add eax, edx
lea ecx, [ebp - 0x10b0]
push eax
call fcn.004185e0
or dword [ebp - 0x116c], 0x200
push ecx
lea edx, [ebp - 0x10b0]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x10e4]
call fcn.00431bb0
add esp, 4
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x109c]
cmp ecx, 0x10
jb 0x42e822
mov edx, dword [ebp - 0x10b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e818
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42f607
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov ecx, dword [esi + 0x14]
mov eax, esi
cmp ecx, 0x10
jb 0x42e82e
mov eax, dword [esi]
mov al, byte [edi + eax]
cmp al, 0x20
je 0x42e845
cmp al, 9
je 0x42e845
cmp al, 0xa
je 0x42e845
cmp al, 0xc
je 0x42e845
cmp al, 0xb
jne 0x42e848
inc edi
jmp 0x42e825
xorps xmm0, xmm0
mov dword [ebp - 0x1150], edi
movups xmmword [ebp - 0x1034], xmm0
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 0xf
mov byte [ebp - 0x1034], 0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1034]
push dword [ebp - 0x1018]
push 0x10
call fcn.004181d0
xorps xmm0, xmm0
mov dword [ebp - 0x1024], 0
movups xmmword [ebp - 0x1064], xmm0
mov dword [ebp - 0x1054], 0
mov dword [ebp - 0x1050], 0xf
mov byte [ebp - 0x1064], 0
push 0x38
lea eax, [ebp - 0x113c]
push 0
push eax
call fcn.00500b60
xorps xmm0, xmm0
mov dword [ebp - 0x113c], 0
add esp, 0xc
mov byte [ebp - 0x1138], 0
movups xmmword [ebp - 0x1134], xmm0
mov dword [ebp - 0x1124], 0
mov byte [ebp - 0x1120], 0
mov dword [ebp - 0x111c], 0
mov dword [ebp - 0x1118], 0
mov byte [ebp - 0x1114], 0
mov dword [ebp - 0x1110], 0
mov dword [ebp - 0x110c], 0
mov byte [ebp - 0x1108], 0
mov byte [ebp - 4], 0x10
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x1140], esi
cmp edx, 0x10
jb 0x42e94f
mov eax, dword [esi]
mov ecx, eax
add ecx, dword [esi + 0x10]
mov dword [ebp - 0x1140], eax
jmp 0x42e95b
mov ecx, dword [esi + 0x10]
mov eax, esi
add ecx, esi
cmp edx, 0x10
jb 0x42e95d
mov eax, dword [esi]
push dword [ebp - 0x1140]
mov edx, 0x598d04
push ecx
push ecx
push eax
lea ecx, [ebp - 0x113c]
call fcn.0041ac10
add esp, 0x10
test al, al
je 0x42ea96
mov ecx, dword [ebp - 0x1130]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x1134]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
ja 0x42e9aa
lea ecx, [ebp - 0x1110]
jmp 0x42e9b3
mov ecx, dword [ebp - 0x1134]
add ecx, 0xc
lea eax, [ebp - 0x10b0]
push eax
call fcn.00412d70
or dword [ebp - 0x116c], 0x800
lea eax, [ebp - 0x10b0]
push eax
lea ecx, [ebp - 0x1034]
call fcn.00414d90
mov ecx, dword [ebp - 0x109c]
cmp ecx, 0x10
jb 0x42ea15
mov edx, dword [ebp - 0x10b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ea0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42f607
push ecx
push edx
call fcn.004f79ae
add esp, 8
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x42ea1f
mov ecx, dword [esi]
mov edx, dword [esi + 0x10]
push 2
push 0x55eb98
push edi
call fcn.00432150
mov ecx, eax
add esp, 0xc
cmp ecx, 0xffffffff
jne 0x42ea49
push 0
push 0x55eb98
mov ecx, esi
call fcn.00414a40
mov ecx, eax
cmp dword [esi + 0x14], 0x10
jb 0x42ea55
mov edx, dword [esi]
add ecx, edx
jmp 0x42ea59
add ecx, esi
mov edx, esi
lea eax, [edx + edi]
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x1064]
call fcn.00415ea0
cmp dword [ebp - 0x1054], 0
je 0x42f159
lea ecx, [ebp - 0x1064]
call fcn.00414ad0
cmp byte [eax], 0x5e
je 0x42f14e
call fcn.00414ad0
jmp 0x42f149
cmp dword [esi + 0x14], 0x10
mov edx, esi
mov eax, dword [esi + 0x10]
jb 0x42eaa3
mov edx, dword [esi]
test eax, eax
je 0x42eccb
or ecx, 0xffffffff
dec eax
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x3a
je 0x42eace
nop dword [eax + eax]
cmp ecx, edx
je 0x42eccb
dec ecx
cmp byte [ecx], 0x3a
jne 0x42eac0
sub ecx, edx
cmp ecx, 0xffffffff
je 0x42eccb
lea edi, [ecx - 1]
mov dword [ebp - 0x1154], 0
mov dword [ebp - 0x1158], 0
mov dword [ebp - 0x1140], 1
mov dword [ebp - 0x1144], edi
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42eb0a
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.00509860
add esp, 4
test eax, eax
jne 0x42eb2f
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42eb25
mov eax, dword [esi]
cmp byte [eax + edi], 0x2e
jne 0x42efc1
mov edx, dword [esi + 0x14]
mov eax, esi
cmp edx, 0x10
jb 0x42eb3b
mov eax, dword [esi]
cmp byte [eax + edi], 0x2e
jne 0x42ebde
mov eax, dword [ebp - 0x1154]
inc eax
mov dword [ebp - 0x1154], eax
cmp eax, 3
jg 0x42efc1
mov dword [ebp - 0x1140], 1
mov dword [ebp - 0x1158], 0
mov eax, esi
cmp edx, 0x10
jb 0x42eb78
mov eax, dword [esi]
mov al, byte [eax + edi]
mov edx, dword [ebp - 0x1020]
mov ecx, dword [ebp - 0x1024]
mov byte [ebp - 0x1168], al
mov eax, edx
sub eax, ecx
cmp eax, 1
jb 0x42eca8
inc ecx
lea edi, [ebp - 0x1034]
cmp edx, 0x10
mov dword [ebp - 0x1024], ecx
push ecx
cmovae edi, dword [ebp - 0x1034]
push edi
lea eax, [edi + 1]
push eax
call fcn.005005e0
movsx ecx, byte [ebp - 0x1168]
add esp, 0xc
movzx eax, cl
shl cx, 8
or cx, ax
mov byte [edi], cl
mov edi, dword [ebp - 0x1144]
dec edi
jmp 0x42eafa
mov eax, esi
cmp edx, 0x10
jb 0x42ebe7
mov eax, dword [esi]
movsx eax, byte [eax + edi]
mov ecx, dword [ebp - 0x1140]
sub eax, 0x30
imul eax, ecx
lea ecx, [ecx + ecx*4]
add ecx, ecx
add dword [ebp - 0x1158], eax
cmp dword [ebp - 0x1158], 0xff
mov dword [ebp - 0x1140], ecx
jle 0x42eb6f
mov eax, dword [ebp - 0x1154]
inc eax
mov dword [ebp - 0x1154], eax
cmp eax, 3
jg 0x42efc1
mov edx, dword [ebp - 0x1020]
mov eax, edx
mov ecx, dword [ebp - 0x1024]
sub eax, ecx
mov dword [ebp - 0x1158], 0
mov dword [ebp - 0x1140], 1
cmp eax, 1
jb 0x42ec8a
inc ecx
lea edi, [ebp - 0x1034]
cmp edx, 0x10
mov dword [ebp - 0x1024], ecx
push ecx
cmovae edi, dword [ebp - 0x1034]
push edi
lea eax, [edi + 1]
push eax
call fcn.005005e0
mov byte [edi], 0x2e
add esp, 0xc
mov edi, dword [ebp - 0x1144]
jmp 0x42eb00
push 0x2e
push 1
push 0
push dword [ebp - 0x1018]
lea ecx, [ebp - 0x1034]
push 1
call fcn.00418440
jmp 0x42eb00
push dword [ebp - 0x1168]
lea ecx, [ebp - 0x1034]
push 1
push 0
push dword [ebp - 0x1018]
push 1
call fcn.00418440
dec edi
jmp 0x42eafa
push ecx
push 0x2e
mov ecx, esi
call fcn.00414a80
mov dword [ebp - 0x1140], eax
cmp eax, 0xffffffff
je 0x42efc7
lea edi, [eax - 1]
mov dword [ebp - 0x1140], 0
mov dword [ebp - 0x1144], edi
mov edi, eax
inc edi
nop word [eax + eax]
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42ed0a
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.00509860
add esp, 4
test eax, eax
je 0x42edb5
mov eax, dword [ebp - 0x1140]
inc edi
lea ecx, [eax + eax*4]
mov eax, esi
add ecx, ecx
cmp dword [esi + 0x14], 0x10
jb 0x42ed35
mov eax, dword [esi]
movsx edx, byte [eax + edi]
add edx, 0xffffffd0
add edx, ecx
mov dword [ebp - 0x1140], edx
cmp edx, 0xff
jg 0x42edb5
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42ed56
mov eax, dword [esi]
mov dl, byte [eax + edi]
mov ecx, dword [ebp - 0x1024]
mov byte [ebp - 0x1018], dl
cmp ecx, dword [ebp - 0x1020]
jae 0x42ed97
cmp dword [ebp - 0x1020], 0x10
lea eax, [ecx + 1]
mov dword [ebp - 0x1024], eax
lea eax, [ebp - 0x1034]
cmovae eax, dword [ebp - 0x1034]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x42ed00
push dword [ebp - 0x1018]
lea ecx, [ebp - 0x1034]
push dword [ebp - 0x1018]
push 1
call fcn.00418300
jmp 0x42ed00
push 0x2e
push 1
push 0
lea ecx, [ebp - 0x1034]
call fcn.00414bd0
mov dword [ebp - 0x1140], 0
mov dword [ebp - 0x1158], 0
mov dword [ebp - 0x1154], 1
mov edi, dword [ebp - 0x1144]
nop word [eax + eax]
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42edfa
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.00509860
add esp, 4
test eax, eax
jne 0x42ee1f
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x42ee15
mov eax, dword [esi]
cmp byte [edi + eax], 0x2e
jne 0x42efc1
mov edx, dword [esi + 0x14]
mov eax, esi
cmp edx, 0x10
jb 0x42ee2b
mov eax, dword [esi]
cmp byte [eax + edi], 0x2e
jne 0x42eed4
mov eax, dword [ebp - 0x1140]
inc eax
mov dword [ebp - 0x1140], eax
cmp eax, 2
jg 0x42efc1
mov dword [ebp - 0x1154], 1
mov dword [ebp - 0x1158], 0
mov eax, esi
cmp edx, 0x10
jb 0x42ee68
mov eax, dword [esi]
mov al, byte [edi + eax]
mov edx, dword [ebp - 0x1020]
mov ecx, dword [ebp - 0x1024]
mov byte [ebp - 0x1014], al
mov eax, edx
sub eax, ecx
cmp eax, 1
jb 0x42ef98
inc ecx
lea edi, [ebp - 0x1034]
cmp edx, 0x10
mov dword [ebp - 0x1024], ecx
push ecx
cmovae edi, dword [ebp - 0x1034]
push edi
lea eax, [edi + 1]
push eax
call fcn.005005e0
movsx ecx, byte [ebp - 0x1014]
add esp, 0xc
movzx eax, cl
shl cx, 8
or cx, ax
mov byte [edi], cl
mov edi, dword [ebp - 0x1144]
dec edi
mov dword [ebp - 0x1144], edi
jmp 0x42edf0
mov eax, esi
cmp edx, 0x10
jb 0x42eedd
mov eax, dword [esi]
movsx eax, byte [edi + eax]
mov ecx, dword [ebp - 0x1154]
sub eax, 0x30
imul eax, ecx
lea ecx, [ecx + ecx*4]
add ecx, ecx
add dword [ebp - 0x1158], eax
cmp dword [ebp - 0x1158], 0xff
mov dword [ebp - 0x1154], ecx
jle 0x42ee5f
mov eax, dword [ebp - 0x1140]
inc eax
mov dword [ebp - 0x1140], eax
cmp eax, 2
jg 0x42efc1
mov edx, dword [ebp - 0x1020]
mov eax, edx
mov ecx, dword [ebp - 0x1024]
sub eax, ecx
mov dword [ebp - 0x1158], 0
mov dword [ebp - 0x1154], 1
cmp eax, 1
jb 0x42ef7a
inc ecx
lea edi, [ebp - 0x1034]
cmp edx, 0x10
mov dword [ebp - 0x1024], ecx
push ecx
cmovae edi, dword [ebp - 0x1034]
push edi
lea eax, [edi + 1]
push eax
call fcn.005005e0
add esp, 0xc
mov byte [edi], 0x2e
jmp 0x42ede4
push 0x2e
push 1
push 0
push dword [ebp - 0x1018]
lea ecx, [ebp - 0x1034]
push 1
call fcn.00418440
jmp 0x42edf0
push dword [ebp - 0x1014]
lea ecx, [ebp - 0x1034]
push 1
push 0
push dword [ebp - 0x1018]
push 1
call fcn.00418440
dec edi
mov dword [ebp - 0x1144], edi
jmp 0x42edf0
mov edi, dword [ebp - 0x1150]
cmp dword [ebp - 0x1024], 0
je 0x42effa
push 0
lea ecx, [ebp - 0x1034]
call fcn.00414b10
cmp byte [eax], 0x30
jne 0x42effa
push 1
push 0
lea ecx, [ebp - 0x1034]
call fcn.00415e40
mov ecx, dword [ebp - 0x1144]
inc ecx
jmp 0x42f000
mov ecx, dword [ebp - 0x1144]
mov edx, dword [esi + 0x14]
mov eax, esi
cmp edx, 0x10
jb 0x42f00c
mov eax, dword [esi]
mov al, byte [eax + ecx]
cmp al, 0x20
je 0x42f023
cmp al, 9
je 0x42f023
cmp al, 0xa
je 0x42f023
cmp al, 0xc
je 0x42f023
cmp al, 0xb
jne 0x42f026
dec ecx
jmp 0x42f003
mov eax, esi
cmp edx, 0x10
jb 0x42f02f
mov eax, dword [esi]
mov al, byte [eax + ecx]
sub al, 0x30
cmp al, 9
ja 0x42f040
dec ecx
jmp 0x42f026
mov eax, esi
cmp edx, 0x10
jb 0x42f049
mov eax, dword [esi]
mov al, byte [ecx + eax]
cmp al, 0x20
je 0x42f060
cmp al, 9
je 0x42f060
cmp al, 0xa
je 0x42f060
cmp al, 0xc
je 0x42f060
cmp al, 0xb
jne 0x42f063
dec ecx
jmp 0x42f040
cmp edx, 0x10
jb 0x42f06e
add ecx, dword [esi]
mov eax, dword [esi]
jmp 0x42f072
add ecx, esi
mov eax, esi
add eax, edi
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x1064]
call fcn.00415ea0
cmp dword [0x58f19c], 0x10
lea ecx, [ebp - 0x1064]
push dword [0x58f198]
mov edx, dword [ebp - 0x1064]
mov eax, 0x58f188
cmovae eax, dword [0x58f188]
cmp dword [ebp - 0x1050], 0x10
mov edi, dword [ebp - 0x1054]
push eax
mov dword [ebp - 0x1140], edx
cmovae ecx, edx
push 0xffffffffffffffff
mov edx, edi
setae byte [ebp - 0x1145]
call fcn.00432090
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x42f118
cmp byte [ebp - 0x1145], 0
lea eax, [ebp - 0x1064]
je 0x42f0f3
mov eax, dword [ebp - 0x1140]
lea ecx, [eax + edi]
jmp 0x42f0fc
lea ecx, [eax + edi]
lea eax, [ebp - 0x1064]
push ecx
add eax, edx
lea ecx, [ebp - 0x1064]
push eax
lea eax, [ebp - 0x1038]
push eax
call fcn.00414b50
mov edi, dword [ebp - 0x1054]
mov ecx, dword [ebp - 0x1064]
cmp edi, 1
jb 0x42f159
cmp dword [ebp - 0x1050], 0x10
lea eax, [ebp - 0x1064]
cmovae eax, ecx
cmp byte [eax + edi - 1], 0x5e
je 0x42f14e
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x1064]
call fcn.00414b10
cmp byte [eax], 0x37
jne 0x42f159
lea ecx, [ebp - 0x1064]
call fcn.004300b0
imul edi, dword [ebp - 0x1178], 0xe0
mov edx, dword [ebp - 0x114c]
mov ecx, dword [ebp - 0x1174]
mov eax, dword [edx + 0x144]
mov dword [ebp - 0x1140], edi
mov dword [eax + edi], ecx
mov eax, dword [edx + 0x144]
mov ecx, dword [ebp - 0x1170]
mov dword [eax + edi + 4], ecx
lea ecx, [ebp - 0x10cc]
cmp dword [ebp - 0x10b8], 0x10
mov eax, dword [edx + 0x144]
cmovae ecx, dword [ebp - 0x10cc]
add eax, 0x6f
push ecx
add eax, edi
push 5
push eax
call fcn.00509bbb
cmp dword [ebp - 0x10d0], 0x10
lea ecx, [ebp - 0x10e4]
mov eax, dword [ebp - 0x114c]
cmovae ecx, dword [ebp - 0x10e4]
add edi, 0x2d
push ecx
push 0x21
mov eax, dword [eax + 0x144]
add eax, edi
push eax
call fcn.00509bbb
mov eax, dword [ebp - 0x114c]
lea ecx, [ebp - 0x1064]
mov edi, 0x20
cmp dword [ebp - 0x1054], edi
cmovb edi, dword [ebp - 0x1054]
cmp dword [ebp - 0x1050], 0x10
mov eax, dword [eax + 0x144]
cmovae ecx, dword [ebp - 0x1064]
add eax, 0xc
add eax, dword [ebp - 0x1140]
push edi
push ecx
push 0x21
push eax
call fcn.005095d0
mov ecx, dword [ebp - 0x114c]
add esp, 0x28
mov eax, dword [ecx + 0x144]
add eax, dword [ebp - 0x1140]
mov byte [eax + edi + 0xc], 0
lea eax, [ebp - 0x1034]
mov ecx, dword [ecx + 0x144]
mov edi, dword [ebp - 0x1140]
add ecx, 0x98
add ecx, edi
cmp ecx, eax
je 0x42f27b
cmp dword [ebp - 0x1020], 0x10
push dword [ebp - 0x1024]
cmovae eax, dword [ebp - 0x1034]
push eax
call fcn.00415ea0
mov eax, dword [ebp - 0x114c]
mov edx, dword [eax + 0x144]
add edx, edi
cmp dword [edx + 0xac], 0x10
lea ecx, [edx + 0x98]
jb 0x42f29e
mov ecx, dword [edx + 0x98]
push dword [edx + 0xa8]
push ecx
mov ecx, dword [ebp - 0x117c]
call fcn.0048cf90
mov eax, dword [ebp - 0x114c]
add esp, 8
mov dword [ebp - 0x1140], 0
mov eax, dword [eax + 0x144]
add eax, edi
cmp dword [eax + 0xac], 0x10
lea ecx, [eax + 0x98]
jb 0x42f2e0
mov ecx, dword [eax + 0x98]
push dword [eax + 0xa8]
push ecx
lea ecx, [ebp - 0x1140]
call fcn.0048cb80
add esp, 8
test al, al
je 0x42f319
mov eax, dword [ebp - 0x114c]
mov ecx, 0x599440
mov eax, dword [eax + 0x144]
add eax, 0x98
add eax, edi
push eax
call fcn.0042f970
inc dword [eax]
inc dword [ebp - 0x1178]
lea ecx, [ebp - 0x1134]
call fcn.00412e20
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x1050]
cmp ecx, 0x10
jb 0x42f368
mov edx, dword [ebp - 0x1064]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42f35e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42f607
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x1020]
mov dword [ebp - 0x1054], 0
mov dword [ebp - 0x1050], 0xf
mov byte [ebp - 0x1064], 0
cmp ecx, 0x10
jb 0x42f3c1
mov edx, dword [ebp - 0x1034]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42f3b7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42f607
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x10d0]
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 0xf
mov byte [ebp - 0x1034], 0
cmp ecx, 0x10
jb 0x42f41a
mov edx, dword [ebp - 0x10e4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42f410
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42f607
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x10b8]
mov dword [ebp - 0x10d4], 0
mov dword [ebp - 0x10d0], 0xf
mov byte [ebp - 0x10e4], 0
cmp ecx, 0x10
jb 0x42f473
mov edx, dword [ebp - 0x10cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42f469
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42f607
push ecx
push edx
call fcn.004f79ae
add esp, 8
add esi, 0x18
cmp esi, dword [ebp - 0x115c]
jne 0x42e150
mov ecx, dword [ebp - 0x114c]
imul eax, dword [0x598cf4], 0xe0
mov edx, dword [0x598cf0]
mov esi, dword [ecx + 0x144]
cmp dword [eax + esi], edx
je 0x42f4dd
mov ecx, dword [ecx + 0x148]
mov eax, esi
cmp eax, ecx
je 0x42f4c1
nop
cmp dword [eax], edx
je 0x42f58c
add eax, 0xe0
cmp eax, ecx
jne 0x42f4b0
mov eax, dword [esi]
mov dword [0x598cf0], eax
push esi
mov ecx, 0x8edc18
mov dword [0x598cf4], 0
call fcn.0042bb60
lea ecx, [ebp - 0x108c]
mov byte [ebp - 4], 4
call fcn.00415b10
mov edi, dword [ebp - 0x1178]
mov esi, dword [ebp - 0x1160]
mov ecx, dword [ebp - 0x114c]
mov eax, dword [ebp - 0x1180]
mov dword [ecx + 0x330], eax
mov eax, 0x88888889
mov dword [ecx + 0x334], edi
mov dword [ecx + 0x32c], esi
mov ecx, dword [0x598a1c]
inc ecx
mul ecx
mov dword [0x598a1c], ecx
shr edx, 5
mov eax, edx
shl eax, 4
sub eax, edx
shl eax, 2
cmp ecx, eax
sete dl
cmp ecx, 0x3c
jne 0x42f54b
mov dword [0x598a1c], 0
mov ecx, dword [ebp - 0x114c]
call fcn.004c53e0
mov ecx, dword [ebp - 0x1068]
cmp ecx, 0x10
jb 0x42d93d
mov edx, dword [ebp - 0x107c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42f592
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42f607
jmp 0x42f592
push eax
jmp 0x42f4c9
push ecx
push edx
call fcn.004f79ae
add esp, 8
jmp 0x42d93d
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 0
push dword [0x598c44]
mov byte [0x598d6b], 0
call esi
push 0
push dword [0x598c48]
call esi
push 0
push dword [0x598c4c]
call esi
push 0
push dword [0x598c50]
call esi
push 0
push dword [0x598c70]
call esi
push 0
push dword [0x598c74]
call esi
push 0
push dword [0x598c40]
call esi
mov dl, 1
xor cl, cl
call fcn.004c9030
jmp 0x42d93d
call fcn.004f7b0a
call fcn.005094c8
call fcn.00416730
int3