Function at 0x4022a0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x528
mov eax, dword [0x421014]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0
mov dword [ebp - 0x218], ecx
lea ecx, [ebp - 0x40]
push 0x41f451
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00406d50
push 0x80
call fcn.0040aafb
add esp, 4
mov esi, eax
push 0x80
push 0
push esi
call fcn.0040be30
add esp, 0xc
mov ecx, esi
call fcn.00407d20
push 8
push 0x9714571e
mov esi, eax
call fcn.00401210
push 0
push 0x43921f5
mov edi, eax
call fcn.00401320
sub esp, 8
mov dword [ebp - 0x1fc], eax
mov ecx, esp
xor eax, eax
push 0x41f458
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00406c40
sub esp, 0x18
mov ecx, esp
push 0
push 0x41f452
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00406d50
mov dword [ebp - 0x440], 0x506be36a
sub esp, 0x18
mov dword [ebp - 0x43c], 0x31cf14f4
mov edx, esp
mov dword [ebp - 0x438], 0x8bac9a06
mov dword [ebp - 0x434], 0xd3a6fc74
movaps xmm1, xmmword [ebp - 0x440]
mov dword [ebp - 0x2f0], 0x201f9702
mov dword [ebp - 0x2ec], 0x3e03bce
mov dword [ebp - 0x2e8], 0xba82a837
mov dword [ebp - 0x2e4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x2f0]
movaps xmmword [ebp - 0x440], xmm1
mov dword [ebp - 0x430], 0x89057ee4
mov dword [ebp - 0x42c], 0xc715f487
mov dword [ebp - 0x428], 0x201028f9
mov dword [ebp - 0x424], 0xbe4a3c81
movaps xmm1, xmmword [ebp - 0x430]
mov dword [ebp - 0x2e0], 0xbc3150d4
mov dword [ebp - 0x2dc], 0xa86784a8
mov dword [ebp - 0x2d8], 0x53754181
mov dword [ebp - 0x2d4], 0xca3248af
pxor xmm1, xmmword [ebp - 0x2e0]
mov dword [ebp - 0x420], 0x64787a06
mov dword [ebp - 0x41c], 0xcc1fc45a
mov dword [ebp - 0x418], 0x6d28197b
mov dword [ebp - 0x414], 0x3645d59
movaps xmmword [ebp - 0x430], xmm1
movaps xmm1, xmmword [ebp - 0x420]
mov dword [ebp - 0x2d0], 0x64787a06
mov dword [ebp - 0x2cc], 0xcc1fc45a
mov dword [ebp - 0x2c8], 0x6d28197b
mov dword [ebp - 0x2c4], 0x3645d59
pxor xmm1, xmmword [ebp - 0x2d0]
movaps xmmword [ebp - 0x420], xmm1
lea ecx, [ebp - 0x440]
mov dword [edx + 0x10], 0
lea eax, [ecx + 1]
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov dword [ebp - 0x17c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4024d2
sub ecx, dword [ebp - 0x17c]
lea eax, [ebp - 0x440]
push ecx
push eax
mov ecx, edx
call fcn.00406d50
push ecx
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
push edi
push dword [ebp - 0x1fc]
call fcn.00408490
mov edi, eax
mov dword [ebp - 0x190], 0x78b944
mov eax, dword [ebp - 0x190]
xor eax, 0x1d
mov dword [ebp - 0x18c], 0
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x228], eax
xor ecx, 0
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x1d8], 0x1d
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x190], 0x9a06
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x220], 0x4d39
mov dword [ebp - 0x21c], 0
mov edx, dword [ebp - 0x190]
mov esi, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1d8]
add edx, eax
mov ecx, dword [ebp - 0x1d4]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x1d8], edx
adc esi, 0
mov dword [ebp - 0x1d4], esi
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x224]
sub edx, eax
mov dword [ebp - 0x190], edx
sbb esi, ecx
mov dword [ebp - 0x18c], esi
mov esi, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x1d4]
push eax
push ecx
push edx
push esi
call fcn.00418f10
mov dword [ebp - 0x190], eax
mov eax, edi
mov dword [ebp - 0x18c], edx
mov ecx, dword [ebp - 0x190]
mov esi, dword [ebp - 0x18c]
cdq
cmp eax, ecx
jne 0x404107
cmp edx, esi
jne 0x404107
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x404107
mov dword [ebp - 0x380], 0x182fa638
lea esi, [ebp - 0x380]
mov dword [ebp - 0x37c], 0x3e03bfe
lea ecx, [esi + 1]
mov dword [ebp - 0x378], 0xba82a837
mov dword [ebp - 0x374], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x380]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
movaps xmmword [ebp - 0x380], xmm1
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x402690
sub esi, ecx
lea eax, [ebp - 0x380]
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
push esi
cmovae ecx, dword [ebp - 0x40]
push eax
push 0
call fcn.004071c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x404107
mov dword [ebp - 0x370], 0x201f9708
lea ecx, [ebp - 0x370]
mov dword [ebp - 0x36c], 0x3e03bce
lea edx, [ecx + 1]
mov dword [ebp - 0x368], 0xba82a837
mov dword [ebp - 0x364], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x370]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
movaps xmmword [ebp - 0x370], xmm1
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402750
sub ecx, edx
lea eax, [ebp - 0x370]
push ecx
push eax
lea ecx, [ebp - 0x2b0]
call fcn.00406d50
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x298]
call fcn.00406ae0
mov esi, dword [ebp - 0x2a0]
lea ecx, [ebp - 0x2b0]
mov edi, dword [ebp - 0x288]
xor edx, edx
cmp dword [ebp - 0x29c], 0x10
mov dword [ebp - 0x17c], edx
lea edx, [ebp - 0x298]
cmovae ecx, dword [ebp - 0x2b0]
cmp dword [ebp - 0x284], 0x10
mov dword [ebp - 0x200], 0
cmovae edx, dword [ebp - 0x298]
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x1d4], edx
cmp esi, edi
ja 0x4028b0
test esi, esi
jne 0x4027f4
xor edi, edi
jmp 0x4028b3
movsx ecx, byte [ecx]
mov eax, edx
sub eax, esi
mov dword [ebp - 0x21c], ecx
inc edi
add eax, edi
mov dword [ebp - 0x224], eax
sub eax, edx
push eax
push ecx
push edx
call fcn.00418f80
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4028b0
mov edx, dword [ebp - 0x1fc]
mov ecx, edi
sub esi, 4
jb 0x402841
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40284a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402830
cmp esi, 0xfffffffc
je 0x402ab0
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402887
cmp esi, 0xfffffffd
je 0x402ab0
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402887
cmp esi, 0xfffffffe
je 0x402ab0
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402887
cmp esi, 0xffffffff
je 0x402ab0
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x402ab0
mov eax, dword [ebp - 0x224]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x21c]
push edi
call fcn.00418f80
mov esi, dword [ebp - 0x2a0]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x402821
or edi, 0xffffffff
push 0x66
push 0x97145314
call fcn.00401210
add esp, 8
xor ecx, ecx
cmp edi, eax
jne 0x4028d0
cmp ecx, edx
je 0x402ded
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
mov byte [ebp - 0x130], 0
cmp eax, edx
jb 0x404f8c
sub eax, edx
mov ecx, edi
sub ecx, edx
mov dword [ebp - 0x458], eax
cmp eax, ecx
mov dword [ebp - 0x168], ecx
cmovb ecx, eax
cmp dword [ebp - 0x284], 0x10
lea eax, [ebp - 0x298]
cmovae eax, dword [ebp - 0x298]
push ecx
add eax, edx
lea ecx, [ebp - 0x130]
push eax
call fcn.00406d50
mov dword [ebp - 0x1f8], 0xe740
mov eax, dword [ebp - 0x1f8]
xor eax, 0x1d
mov dword [ebp - 0x1f4], 0
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1e0], eax
xor ecx, 0
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1f0], 0x1d
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 0x9a06
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x198], 0x4d39
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x1f0]
mov esi, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1e8]
add edx, eax
mov ecx, dword [ebp - 0x1e4]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x188], edx
adc esi, 0
mov dword [ebp - 0x184], esi
mov edx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x198]
sub edx, eax
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x1a0], edx
sbb esi, ecx
mov dword [ebp - 0x19c], esi
mov esi, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x184]
push eax
push ecx
push edx
push esi
call fcn.00418f10
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1a4]
mov esi, dword [ebp - 0x120]
add ecx, esi
push ecx
call fcn.0040e251
add esp, 4
mov dword [ebp - 0x17c], eax
push 0
push 0x3ea9cd6
call fcn.00401320
add eax, esi
push eax
push 0
push dword [ebp - 0x17c]
call fcn.0040be30
mov ecx, dword [ebp - 0x130]
lea eax, [ebp - 0x130]
add esp, 0x14
mov dword [ebp - 0x18c], ecx
cmp dword [ebp - 0x11c], 0x10
cmovae eax, ecx
push esi
mov esi, dword [ebp - 0x17c]
push eax
push esi
call fcn.0040c760
mov ecx, dword [ebp - 0x200]
add esp, 0xc
test ecx, ecx
jne 0x402abb
cmp dword [ebp - 0x204], 1
jae 0x402ad4
push 1
jmp 0x402ac9
sub edi, dword [ebp - 0x1d4]
jmp 0x4028b3
lea eax, [ecx + 1]
cmp eax, dword [ebp - 0x204]
jbe 0x402ad4
sub eax, ecx
push eax
lea ecx, [ebp - 0x208]
call fcn.00406bb0
push 1
lea ecx, [ebp - 0x208]
call fcn.00406bb0
mov eax, dword [ebp - 0x200]
lea edx, [ebp - 0x2b0]
mov ecx, dword [ebp - 0x208]
mov dword [ecx + eax*4], esi
inc eax
mov esi, dword [ebp - 0x2a0]
cmp dword [ebp - 0x29c], 0x10
mov dword [ebp - 0x200], eax
cmovae edx, dword [ebp - 0x2b0]
cmp dword [ebp - 0x284], 0x10
lea ecx, [edi + esi]
mov eax, dword [ebp - 0x288]
lea edi, [ebp - 0x298]
cmovae edi, dword [ebp - 0x298]
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x1d4], edx
mov dword [ebp - 0x1fc], edi
cmp esi, eax
ja 0x402c20
sub eax, esi
cmp ecx, eax
ja 0x402c20
test esi, esi
jne 0x402b5d
mov edi, ecx
jmp 0x402c23
movsx edx, byte [edx]
inc eax
add eax, edi
mov dword [ebp - 0x224], edx
add ecx, edi
mov dword [ebp - 0x21c], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.00418f80
mov edi, eax
add esp, 0xc
test edi, edi
je 0x402c20
nop dword [eax + eax]
mov eax, dword [ebp - 0x1d4]
mov edx, edi
sub esi, 4
jb 0x402bb1
nop dword [eax]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x402bba
add edx, 4
add eax, 4
sub esi, 4
jae 0x402ba0
cmp esi, 0xfffffffc
je 0x402e76
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x402bf7
cmp esi, 0xfffffffd
je 0x402e76
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x402bf7
cmp esi, 0xfffffffe
je 0x402e76
mov cl, byte [edx + 2]
cmp cl, byte [eax + 2]
jne 0x402bf7
cmp esi, 0xffffffff
je 0x402e76
mov cl, byte [edx + 3]
cmp cl, byte [eax + 3]
je 0x402e76
mov eax, dword [ebp - 0x21c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x224]
push edi
call fcn.00418f80
mov esi, dword [ebp - 0x2a0]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x402b90
or edi, 0xffffffff
mov eax, dword [ebp - 0x11c]
cmp eax, 0x10
jb 0x402c5f
mov edx, dword [ebp - 0x18c]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x402c55
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f7d
push ecx
push edx
call fcn.0040ad7c
add esp, 8
push 0x66
push 0x97145314
call fcn.00401210
add esp, 8
xor ecx, ecx
cmp edi, eax
jne 0x4028d0
cmp ecx, edx
jne 0x4028d0
cmp dword [ebp - 0x200], ecx
je 0x402ded
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], cl
cmp eax, edx
jb 0x404f8c
sub eax, edx
mov dword [ebp - 0x164], 0xffffffff
or ecx, 0xffffffff
mov dword [ebp - 0x454], eax
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x284], 0x10
lea eax, [ebp - 0x298]
cmovae eax, dword [ebp - 0x298]
push ecx
add eax, edx
lea ecx, [ebp - 0xd0]
push eax
call fcn.00406d50
push 8
push 0x971453d0
call fcn.00401210
mov esi, dword [ebp - 0xc0]
add eax, esi
push eax
call fcn.0040e251
add esp, 0xc
mov edi, eax
mov dword [ebp - 0x18c], edi
push 8
push 0x971453d0
call fcn.00401210
add eax, esi
push eax
push 0
push edi
call fcn.0040be30
mov edi, dword [ebp - 0xd0]
lea eax, [ebp - 0xd0]
add esp, 0x14
cmp dword [ebp - 0xbc], 0x10
cmovae eax, edi
push esi
mov esi, dword [ebp - 0x18c]
push eax
push esi
call fcn.0040c760
mov eax, dword [ebp - 0x200]
add esp, 0xc
lea ecx, [eax + 1]
cmp ecx, dword [ebp - 0x204]
jbe 0x402d79
sub ecx, eax
push ecx
lea ecx, [ebp - 0x208]
call fcn.00406bb0
push 1
lea ecx, [ebp - 0x208]
call fcn.00406bb0
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x208]
mov dword [ecx + eax*4], esi
inc eax
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0xbc]
cmp eax, 0x10
jb 0x402dd2
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x402dc8
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f7d
push ecx
push edi
call fcn.0040ad7c
add esp, 8
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
mov edx, dword [ebp - 0x284]
cmp edx, 0x10
jb 0x402e27
mov ecx, dword [ebp - 0x298]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402e1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f7d
push edx
push ecx
call fcn.0040ad7c
add esp, 8
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0xf
mov byte [ebp - 0x298], 0
cmp eax, 0x10
jb 0x402e8b
mov edx, dword [ebp - 0x2b0]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x402e81
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f7d
jmp 0x402e81
sub edi, dword [ebp - 0x1fc]
jmp 0x402c23
push ecx
push edx
call fcn.0040ad7c
add esp, 8
push 8
push 0x97147ec6
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
call fcn.00401210
mov edi, dword [ebp - 0x208]
add esp, 8
mov edx, dword [edi + eax*4]
mov ecx, edx
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402ee0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xa0]
call fcn.00406d50
push edi
call fcn.0040d63f
mov dword [ebp - 0x360], 0x182fa638
lea edx, [ebp - 0x360]
mov dword [ebp - 0x35c], 0x3e03bfe
lea ecx, [edx + 1]
mov dword [ebp - 0x358], 0xba82a837
add esp, 4
mov dword [ebp - 0x354], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x360]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
movaps xmmword [ebp - 0x360], xmm1
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x402f70
sub edx, ecx
lea eax, [ebp - 0x360]
cmp dword [ebp - 0x8c], 0x10
lea ecx, [ebp - 0xa0]
push edx
cmovae ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x90]
push eax
push 0
call fcn.004071c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4040fc
mov dword [ebp - 0x3d0], 0x201f9738
lea eax, [ebp - 0x3d0]
mov dword [ebp - 0x3cc], 0x3e03bce
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x3c8], 0xba82a837
mov dword [ebp - 0x3c4], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x3d0]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
push eax
movaps xmmword [ebp - 0x3d0], xmm1
call fcn.00406aa0
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x280]
call fcn.00406ae0
push dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x270]
lea eax, [ebp - 0x308]
xor esi, esi
mov dword [ebp - 0x20c], 0
cmp dword [ebp - 0x2f4], 0x10
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x210], 0
cmovae eax, dword [ebp - 0x308]
cmp dword [ebp - 0x26c], 0x10
push eax
cmovae ecx, dword [ebp - 0x280]
push esi
mov dword [ebp - 0x214], 0
call fcn.004071c0
add esp, 0xc
mov edi, eax
mov dword [ebp - 0x17c], edi
push 0x66
push 0x97145314
call fcn.00401210
add esp, 8
xor ecx, ecx
cmp edi, eax
jne 0x4030c0
cmp ecx, edx
je 0x4034d4
nop dword [eax + eax]
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
cmp eax, esi
jb 0x404f8c
sub eax, esi
mov ecx, edi
sub ecx, esi
mov dword [ebp - 0x450], eax
cmp eax, ecx
mov dword [ebp - 0x16c], ecx
cmovb ecx, eax
cmp dword [ebp - 0x26c], 0x10
lea eax, [ebp - 0x280]
cmovae eax, dword [ebp - 0x280]
push ecx
add eax, esi
lea ecx, [ebp - 0x118]
push eax
call fcn.00406d50
mov dword [ebp - 0x1a8], 0xe740
mov eax, dword [ebp - 0x1a8]
xor eax, 0x1d
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1e0], eax
xor ecx, 0
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x188], 0x1d
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x1a0], 0x9a06
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0x4d39
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x188]
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1a0]
add edx, eax
mov ecx, dword [ebp - 0x19c]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x1f0], edx
adc esi, 0
mov dword [ebp - 0x1ec], esi
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1dc]
sub edx, eax
mov dword [ebp - 0x1e8], edx
sbb esi, ecx
mov dword [ebp - 0x1e4], esi
mov esi, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1ec]
push eax
push ecx
push edx
push esi
call fcn.00418f10
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], edx
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1f4]
mov esi, dword [ebp - 0x108]
add ecx, esi
push ecx
call fcn.0040e251
add esp, 4
mov edi, eax
mov dword [ebp - 0x18c], edi
push 0
push 0x3ea9cd6
call fcn.00401320
add eax, esi
push eax
push 0
push edi
call fcn.0040be30
mov edi, dword [ebp - 0x118]
lea eax, [ebp - 0x118]
add esp, 0x14
cmp dword [ebp - 0x104], 0x10
cmovae eax, edi
push esi
mov esi, dword [ebp - 0x18c]
push eax
push esi
call fcn.0040c760
mov ecx, dword [ebp - 0x20c]
add esp, 0xc
test ecx, ecx
jne 0x403291
cmp dword [ebp - 0x210], 1
jae 0x4032aa
push 1
jmp 0x40329f
lea eax, [ecx + 1]
cmp eax, dword [ebp - 0x210]
jbe 0x4032aa
sub eax, ecx
push eax
lea ecx, [ebp - 0x214]
call fcn.00406bb0
push 1
lea ecx, [ebp - 0x214]
call fcn.00406bb0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x2f8]
push edx
mov dword [ecx + eax*4], esi
inc eax
mov esi, dword [ebp - 0x17c]
lea ecx, [ebp - 0x280]
add esi, edx
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x2f4], 0x10
lea eax, [ebp - 0x308]
mov edx, dword [ebp - 0x270]
cmovae eax, dword [ebp - 0x308]
cmp dword [ebp - 0x26c], 0x10
push eax
cmovae ecx, dword [ebp - 0x280]
push esi
call fcn.004071c0
mov dword [ebp - 0x17c], eax
add esp, 0xc
mov eax, dword [ebp - 0x104]
cmp eax, 0x10
jb 0x403350
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x403346
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f82
push ecx
push edi
call fcn.0040ad7c
add esp, 8
push 0x66
push 0x97145314
call fcn.00401210
mov edi, dword [ebp - 0x17c]
add esp, 8
xor ecx, ecx
cmp edi, eax
jne 0x4030c0
cmp ecx, edx
jne 0x4030c0
mov edi, dword [ebp - 0x20c]
test edi, edi
je 0x4034d4
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], cl
cmp eax, esi
jb 0x404f8c
sub eax, esi
mov dword [ebp - 0x170], 0xffffffff
or ecx, 0xffffffff
mov dword [ebp - 0x44c], eax
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x26c], 0x10
lea eax, [ebp - 0x280]
cmovae eax, dword [ebp - 0x280]
push ecx
add eax, esi
lea ecx, [ebp - 0x88]
push eax
call fcn.00406d50
push 8
push 0x971453d0
call fcn.00401210
mov esi, dword [ebp - 0x78]
add eax, esi
push eax
call fcn.0040e251
add esp, 0xc
mov dword [ebp - 0x17c], eax
push 8
push 0x971453d0
call fcn.00401210
mov ecx, dword [ebp - 0x17c]
add eax, esi
push eax
push 0
push ecx
call fcn.0040be30
add esp, 0x14
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x74], 0x10
cmovae eax, dword [ebp - 0x88]
push esi
push eax
push dword [ebp - 0x17c]
call fcn.0040c760
lea eax, [edi + 1]
add esp, 0xc
cmp eax, dword [ebp - 0x210]
jbe 0x40345b
sub eax, edi
lea ecx, [ebp - 0x214]
push eax
call fcn.00406bb0
push 1
lea ecx, [ebp - 0x214]
call fcn.00406bb0
mov eax, dword [ebp - 0x20c]
mov esi, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x17c]
mov dword [esi + eax*4], ecx
inc eax
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x74]
cmp eax, 0x10
jb 0x4034bd
mov ecx, dword [ebp - 0x88]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x4034b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f82
push edx
push ecx
call fcn.0040ad7c
add esp, 8
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
jmp 0x4034da
mov esi, dword [ebp - 0x214]
mov edx, dword [ebp - 0x26c]
cmp edx, 0x10
jb 0x403514
mov ecx, dword [ebp - 0x280]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40350a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f82
push edx
push ecx
call fcn.0040ad7c
add esp, 8
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
cmp eax, 0x10
jb 0x40356b
mov ecx, dword [ebp - 0x308]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x403561
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f82
push edx
push ecx
call fcn.0040ad7c
add esp, 8
push 8
push 0x97145372
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0xf
mov byte [ebp - 0x308], 0
call fcn.00401210
add esp, 8
mov edx, dword [esi + eax*4]
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4035a0
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xa0]
call fcn.00406d50
push esi
call fcn.0040d63f
add esp, 4
mov dword [ebp - 0x390], 0x201f972c
mov dword [ebp - 0x38c], 0x3e03bce
lea eax, [ebp - 0x390]
mov dword [ebp - 0x388], 0xba82a837
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x384], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x390]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
push eax
movaps xmmword [ebp - 0x390], xmm1
call fcn.00406aa0
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x268]
call fcn.00406ae0
push dword [ebp - 0x310]
mov edx, dword [ebp - 0x258]
lea eax, [ebp - 0x320]
xor edi, edi
lea ecx, [ebp - 0x268]
xor esi, esi
mov dword [ebp - 8], edi
cmp dword [ebp - 0x30c], 0x10
mov dword [ebp - 0xc], edi
cmovae eax, dword [ebp - 0x320]
cmp dword [ebp - 0x254], 0x10
push eax
cmovae ecx, dword [ebp - 0x268]
push esi
mov dword [ebp - 0x10], edi
call fcn.004071c0
add esp, 0xc
mov dword [ebp - 0x17c], eax
push 0x66
push 0x97145314
call fcn.00401210
mov ecx, dword [ebp - 0x17c]
add esp, 8
cmp ecx, eax
jne 0x4036c0
xor eax, eax
cmp eax, edx
je 0x403abd
nop dword [eax]
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
cmp eax, esi
jb 0x404f8c
sub eax, esi
sub ecx, esi
cmp eax, ecx
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x448], eax
cmovb ecx, eax
cmp dword [ebp - 0x254], 0x10
lea eax, [ebp - 0x268]
cmovae eax, dword [ebp - 0x268]
push ecx
add eax, esi
lea ecx, [ebp - 0xe8]
push eax
call fcn.00406d50
mov dword [ebp - 0x1a8], 0xe740
mov eax, dword [ebp - 0x1a8]
xor eax, 0x1d
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1e0], eax
xor ecx, 0
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x188], 0x1d
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x1a0], 0x9a06
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0x4d39
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x188]
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1a0]
add edx, eax
mov ecx, dword [ebp - 0x19c]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x1f0], edx
adc esi, 0
mov dword [ebp - 0x1ec], esi
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1dc]
sub edx, eax
mov dword [ebp - 0x1e8], edx
sbb esi, ecx
mov dword [ebp - 0x1e4], esi
mov esi, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1ec]
push eax
push ecx
push edx
push esi
call fcn.00418f10
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], edx
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1f4]
mov esi, dword [ebp - 0xd8]
add ecx, esi
push ecx
call fcn.0040e251
add esp, 4
mov edi, eax
mov dword [ebp - 0x18c], edi
push 0
push 0x3ea9cd6
call fcn.00401320
add eax, esi
push eax
push 0
push edi
call fcn.0040be30
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0xe8]
add esp, 0x14
mov dword [ebp - 0x1d4], ecx
cmp dword [ebp - 0xd4], 0x10
cmovae eax, ecx
push esi
push eax
push edi
call fcn.0040c760
mov ecx, dword [ebp - 8]
add esp, 0xc
test ecx, ecx
jne 0x403889
cmp dword [ebp - 0xc], 1
jae 0x40389c
push 1
jmp 0x403894
lea eax, [ecx + 1]
cmp eax, dword [ebp - 0xc]
jbe 0x40389c
sub eax, ecx
push eax
lea ecx, [ebp - 0x10]
call fcn.00406bb0
push 1
lea ecx, [ebp - 0x10]
call fcn.00406bb0
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x310]
mov esi, dword [ebp - 0x17c]
mov dword [eax + edi*4], ecx
add esi, edx
inc edi
lea eax, [ebp - 0x320]
cmp dword [ebp - 0x30c], 0x10
lea ecx, [ebp - 0x268]
push edx
cmovae eax, dword [ebp - 0x320]
cmp dword [ebp - 0x254], 0x10
mov edx, dword [ebp - 0x258]
cmovae ecx, dword [ebp - 0x268]
push eax
push esi
mov dword [ebp - 8], edi
call fcn.004071c0
mov dword [ebp - 0x17c], eax
add esp, 0xc
mov eax, dword [ebp - 0xd4]
cmp eax, 0x10
jb 0x403942
mov ecx, dword [ebp - 0x1d4]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x403938
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f87
push edx
push ecx
call fcn.0040ad7c
add esp, 8
push 0x66
push 0x97145314
call fcn.00401210
mov ecx, dword [ebp - 0x17c]
add esp, 8
cmp ecx, eax
jne 0x4036c0
xor eax, eax
cmp eax, edx
jne 0x4036c0
test edi, edi
je 0x403abd
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0xb8], al
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0xa4], 0xf
cmp eax, esi
jb 0x404f8c
sub eax, esi
mov dword [ebp - 0x178], 0xffffffff
cmp eax, 0xffffffff
mov dword [ebp - 0x444], eax
mov ecx, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x254], 0x10
lea eax, [ebp - 0x268]
cmovae eax, dword [ebp - 0x268]
push ecx
add eax, esi
lea ecx, [ebp - 0xb8]
push eax
call fcn.00406d50
push 8
push 0x971453d0
call fcn.00401210
mov esi, dword [ebp - 0xa8]
add eax, esi
push eax
call fcn.0040e251
add esp, 0xc
mov dword [ebp - 0x17c], eax
push 8
push 0x971453d0
call fcn.00401210
add eax, esi
push eax
push 0
push dword [ebp - 0x17c]
call fcn.0040be30
add esp, 0x14
lea eax, [ebp - 0xb8]
cmp dword [ebp - 0xa4], 0x10
cmovae eax, dword [ebp - 0xb8]
push esi
mov esi, dword [ebp - 0x17c]
push eax
push esi
call fcn.0040c760
lea eax, [edi + 1]
add esp, 0xc
cmp eax, dword [ebp - 0xc]
jbe 0x403a4f
sub eax, edi
lea ecx, [ebp - 0x10]
push eax
call fcn.00406bb0
push 1
lea ecx, [ebp - 0x10]
call fcn.00406bb0
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov dword [eax + edi*4], esi
inc edi
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 8], edi
cmp eax, 0x10
jb 0x403aa2
mov ecx, dword [ebp - 0xb8]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x403a98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f87
push edx
push ecx
call fcn.0040ad7c
add esp, 8
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
mov edx, dword [ebp - 0x254]
cmp edx, 0x10
jb 0x403af7
mov ecx, dword [ebp - 0x268]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403aed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f87
push edx
push ecx
call fcn.0040ad7c
add esp, 8
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
cmp eax, 0x10
jb 0x403b4e
mov ecx, dword [ebp - 0x320]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x403b44
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f87
push edx
push ecx
call fcn.0040ad7c
add esp, 8
push 8
push 0x971454ea
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x30c], 0xf
mov byte [ebp - 0x320], 0
call fcn.00401210
add esp, 8
xor ecx, ecx
cmp edi, eax
jne 0x4040f1
cmp ecx, edx
jne 0x4040f1
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a8], 0x1819c
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
xor eax, 0x1d
mov dword [ebp - 0x1a0], eax
xor ecx, 0
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a8], 0x1d
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x188], 0x9a06
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x198], 0x4d39
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x1a8]
mov esi, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x188]
add edx, eax
mov ecx, dword [ebp - 0x184]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x188], edx
adc esi, 0
mov dword [ebp - 0x184], esi
mov edx, dword [ebp - 0x1a0]
mov esi, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x198]
sub edx, eax
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x1a8], edx
sbb esi, ecx
mov dword [ebp - 0x1a4], esi
mov esi, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x184]
push eax
push ecx
push edx
push esi
call fcn.00418f10
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1a4]
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x3a0], 0x201f972c
mov dword [ebp - 0x39c], 0x3e03bce
mov dword [ebp - 0x398], 0xba82a837
mov edi, dword [esi + ecx*4]
lea ecx, [ebp - 0x510]
mov dword [ebp - 0x394], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x3a0]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
push eax
movaps xmmword [ebp - 0x3a0], xmm1
call fcn.00406aa0
push 0
push 0x3e1e34b
mov dword [ebp - 0x1fc], eax
call fcn.00401320
mov dword [ebp - 0x3b0], 0x201f972c
add esp, 8
mov dword [ebp - 0x3ac], 0x3e03bce
mov dword [ebp - 0x3a8], 0xba82a837
mov eax, dword [esi + eax*4]
mov dword [ebp - 0x3a4], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x3b0]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x3b0]
movaps xmmword [ebp - 0x3b0], xmm1
push eax
lea ecx, [ebp - 0x4f8]
call fcn.00406aa0
push 8
push 0x9714548c
mov dword [ebp - 0x21c], eax
call fcn.00401210
add esp, 8
mov dword [ebp - 0x3c0], 0x201f972c
mov dword [ebp - 0x3bc], 0x3e03bce
lea ecx, [ebp - 0x4e0]
mov dword [ebp - 0x3b8], 0xba82a837
mov eax, dword [esi + eax*4]
mov dword [ebp - 0x3b4], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x3c0]
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x3c0]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
push eax
movaps xmmword [ebp - 0x3c0], xmm1
call fcn.00406aa0
push 0
push 0x3ea9cd6
mov dword [ebp - 0x18c], eax
call fcn.00401320
add esp, 8
mov edx, dword [esi + eax*4]
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403e50
sub ecx, esi
push ecx
push edx
push ecx
mov ecx, dword [ebp - 0x18c]
call fcn.004077f0
push dword [ebp - 0x1d4]
lea edx, [ebp - 0x480]
lea ecx, [ebp - 0x4c8]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x480], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x470], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.004070a0
add esp, 4
lea ecx, [ebp - 0x4b0]
mov edx, eax
push dword [ebp - 0x21c]
call fcn.00407150
add esp, 4
lea ecx, [ebp - 0x528]
mov edx, eax
push dword [ebp - 0x224]
call fcn.004070a0
add esp, 4
lea ecx, [ebp - 0x498]
mov edx, eax
push dword [ebp - 0x1fc]
call fcn.00407150
add esp, 4
lea ecx, [ebp - 0x160]
mov edx, eax
push edi
call fcn.004070a0
add esp, 4
lea ecx, [ebp - 0x498]
call fcn.004069d0
lea ecx, [ebp - 0x528]
call fcn.004069d0
lea ecx, [ebp - 0x4b0]
call fcn.004069d0
lea ecx, [ebp - 0x4c8]
call fcn.004069d0
lea ecx, [ebp - 0x480]
call fcn.004069d0
lea ecx, [ebp - 0x4e0]
call fcn.004069d0
lea ecx, [ebp - 0x4f8]
call fcn.004069d0
lea ecx, [ebp - 0x510]
call fcn.004069d0
mov dword [ebp - 0x1a8], 0x48428
mov eax, dword [ebp - 0x1a8]
xor eax, 0x1d
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x198], eax
xor ecx, 0
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x188], 0x1d
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x1a8], 0x9a06
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0x4d39
mov dword [ebp - 0x19c], 0
mov edx, dword [ebp - 0x1a8]
mov esi, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x188]
add edx, eax
mov ecx, dword [ebp - 0x184]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x188], edx
adc esi, 0
mov dword [ebp - 0x184], esi
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
mov esi, dword [ebp - 0x194]
sub edx, eax
mov dword [ebp - 0x1a8], edx
sbb esi, ecx
mov dword [ebp - 0x1a4], esi
mov esi, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x184]
push eax
push ecx
push edx
push esi
call fcn.00418f10
mov esi, dword [ebp - 0x150]
xor edi, edi
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1a4]
cmp edi, eax
jb 0x4040e6
ja 0x40406b
cmp esi, ecx
jb 0x4040e6
push 0
push 0x69bd7fb
call fcn.00401320
add esp, 8
cmp edi, edx
ja 0x4040e6
jb 0x404084
cmp esi, eax
jae 0x4040e6
cmp dword [ebp - 0x14c], 0x10
lea eax, [ebp - 0x160]
mov ecx, dword [ebp - 0x218]
cmovae eax, dword [ebp - 0x160]
push eax
call fcn.00406aa0
lea ecx, [ebp - 0x160]
call fcn.004069d0
push dword [ebp - 0x10]
call fcn.0040d63f
add esp, 4
lea ecx, [ebp - 0xa0]
call fcn.004069d0
lea ecx, [ebp - 0x40]
call fcn.004069d0
mov eax, dword [ebp - 0x218]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040aaea
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea ecx, [ebp - 0x160]
call fcn.004069d0
push dword [ebp - 0x10]
call fcn.0040d63f
add esp, 4
lea ecx, [ebp - 0xa0]
call fcn.004069d0
push 0
push 0x41f453
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.00406d50
push 0x80
call fcn.0040aafb
add esp, 4
mov esi, eax
push 0x80
push 0
push esi
call fcn.0040be30
add esp, 0xc
mov ecx, esi
call fcn.00407d20
sub esp, 0x18
mov esi, eax
mov ecx, esp
xor eax, eax
push 0x41f4c0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00406c40
sub esp, 0x18
mov ecx, esp
push 0
push 0x41f454
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00406d50
mov dword [ebp - 0x3f0], 0x506be36a
lea ecx, [ebp - 0x3f0]
mov dword [ebp - 0x3ec], 0x37cf14f4
lea edi, [ecx + 1]
mov dword [ebp - 0x3e8], 0x8eb38602
sub esp, 0x18
mov dword [ebp - 0x3e4], 0xd2bae179
mov edx, esp
movaps xmm1, xmmword [ebp - 0x3f0]
mov dword [ebp - 0x1c0], 0x201f9702
mov dword [ebp - 0x1bc], 0x3e03bce
mov dword [ebp - 0x1b8], 0xba82a837
mov dword [ebp - 0x1b4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1c0]
mov dword [ebp - 0x3e0], 0x8b047ee1
mov dword [ebp - 0x3dc], 0xda02f787
mov dword [ebp - 0x3d8], 0x7d0724f7
mov dword [ebp - 0x3d4], 0xca4630db
movaps xmmword [ebp - 0x3f0], xmm1
movaps xmm1, xmmword [ebp - 0x3e0]
mov dword [ebp - 0x1b0], 0xbc3150d4
mov dword [ebp - 0x1ac], 0xa86784a8
mov dword [ebp - 0x1a8], 0x53754181
mov dword [ebp - 0x1a4], 0xca3248af
pxor xmm1, xmmword [ebp - 0x1b0]
movaps xmmword [ebp - 0x3e0], xmm1
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404280
sub ecx, edi
lea eax, [ebp - 0x3f0]
push ecx
push eax
mov ecx, edx
call fcn.00406d50
push ecx
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
push 0xa
push 0xa
call fcn.00408490
mov dword [ebp - 0x350], 0x744cd84a
lea edx, [ebp - 0x350]
mov dword [ebp - 0x34c], 0x3e03bf4
lea ecx, [edx + 1]
mov dword [ebp - 0x348], 0xba82a837
mov dword [ebp - 0x344], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x350]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
movaps xmmword [ebp - 0x350], xmm1
mov al, byte [edx]
inc edx
test al, al
jne 0x404317
mov esi, dword [ebp - 0x5c]
lea eax, [ebp - 0x350]
mov edi, dword [ebp - 0x70]
sub edx, ecx
push edx
mov edx, dword [ebp - 0x60]
lea ecx, [ebp - 0x70]
cmp esi, 0x10
push eax
cmovae ecx, edi
push 0
call fcn.004071c0
add esp, 0xc
test eax, eax
jne 0x404535
mov dword [ebp - 0x2c0], 0x201f9738
lea eax, [ebp - 0x2c0]
mov dword [ebp - 0x2bc], 0x3e03bce
lea edx, [ebp - 0x70]
mov dword [ebp - 0x2b8], 0xba82a837
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x2b4], 0xe088cf4d
cmp esi, 0x10
movaps xmm1, xmmword [ebp - 0x2c0]
mov dword [ebp - 0x1b0], 0x201f9702
cmovae edx, edi
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
push 0x2f
push eax
movaps xmmword [ebp - 0x2c0], xmm1
call fcn.00401840
mov dword [ebp - 0x1a8], 0x48428
mov eax, dword [ebp - 0x1a8]
xor eax, 0x1d
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x198], eax
xor ecx, 0
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x188], 0x1d
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x1a8], 0x9a06
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0x4d39
mov dword [ebp - 0x19c], 0
mov edx, dword [ebp - 0x1a8]
mov esi, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x188]
add edx, eax
mov ecx, dword [ebp - 0x184]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x188], edx
adc esi, 0
mov dword [ebp - 0x184], esi
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
mov esi, dword [ebp - 0x194]
sub edx, eax
mov dword [ebp - 0x1a8], edx
sbb esi, ecx
mov dword [ebp - 0x1a4], esi
mov esi, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x184]
push eax
push ecx
push edx
push esi
call fcn.00418f10
mov esi, dword [ebp - 0x138]
xor edi, edi
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1a4]
cmp edi, eax
jb 0x40452a
ja 0x4044de
cmp esi, ecx
jb 0x40452a
push 0
push 0x69bd7fb
call fcn.00401320
add esp, 8
cmp edi, edx
ja 0x40452a
jb 0x4044f7
cmp esi, eax
jae 0x40452a
cmp dword [ebp - 0x134], 0x10
lea eax, [ebp - 0x148]
mov ecx, dword [ebp - 0x218]
cmovae eax, dword [ebp - 0x148]
push eax
call fcn.00406aa0
lea ecx, [ebp - 0x148]
call fcn.004069d0
lea ecx, [ebp - 0x70]
jmp 0x4040c0
lea ecx, [ebp - 0x148]
call fcn.004069d0
push 0
push 0x41f455
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00406d50
push 0x80
call fcn.0040aafb
add esp, 4
mov esi, eax
push 0x80
push 0
push esi
call fcn.0040be30
add esp, 0xc
mov ecx, esi
call fcn.00407d20
sub esp, 0x18
mov esi, eax
mov ecx, esp
xor eax, eax
push str.Content_Type:_application_x_www_form_urlencoded_r_n
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00406c40
sub esp, 0x18
mov ecx, esp
push 0
push 0x41f456
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00406d50
mov dword [ebp - 0x410], 0x546cf672
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x40c], 0x6d8959ab
lea edi, [ecx + 1]
mov dword [ebp - 0x408], 0xd7edcb19
sub esp, 0x18
mov dword [ebp - 0x404], 0x97e9bd62
mov edx, esp
movaps xmm1, xmmword [ebp - 0x410]
mov dword [ebp - 0x1c0], 0x201f9702
mov dword [ebp - 0x1bc], 0x3e03bce
mov dword [ebp - 0x1b8], 0xba82a837
mov dword [ebp - 0x1b4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1c0]
mov dword [ebp - 0x400], 0xd80611fb
mov dword [ebp - 0x3fc], 0xdc56c3fb
mov dword [ebp - 0x3f8], 0x537541e4
mov dword [ebp - 0x3f4], 0xca3248af
movaps xmmword [ebp - 0x410], xmm1
movaps xmm1, xmmword [ebp - 0x400]
mov dword [ebp - 0x1b0], 0xbc3150d4
mov dword [ebp - 0x1ac], 0xa86784a8
mov dword [ebp - 0x1a8], 0x53754181
mov dword [ebp - 0x1a4], 0xca3248af
pxor xmm1, xmmword [ebp - 0x1b0]
movaps xmmword [ebp - 0x400], xmm1
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4046b0
sub ecx, edi
lea eax, [ebp - 0x410]
push ecx
push eax
mov ecx, edx
call fcn.00406d50
push ecx
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
push 0xb
push 0xa
call fcn.00408490
push 8
push 0x97149ce2
mov esi, eax
call fcn.00401210
mov ecx, eax
mov edi, edx
mov eax, esi
add esp, 8
cdq
cmp eax, ecx
jne 0x40487d
cmp edx, edi
jne 0x40487d
mov edx, dword [ebp - 0x48]
test edx, edx
je 0x40487d
mov dword [ebp - 0x340], 0x744cd84a
lea esi, [ebp - 0x340]
mov dword [ebp - 0x33c], 0x3e03bf4
lea ecx, [esi + 1]
mov dword [ebp - 0x338], 0xba82a837
mov dword [ebp - 0x334], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x340]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
movaps xmmword [ebp - 0x340], xmm1
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x404780
sub esi, ecx
lea eax, [ebp - 0x340]
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
push esi
cmovae ecx, dword [ebp - 0x58]
push eax
push 0
call fcn.004071c0
add esp, 0xc
mov esi, eax
push 0
push 0x3e1e34b
call fcn.00401320
add esp, 8
xor ecx, ecx
cmp esi, eax
jne 0x40487d
cmp ecx, edx
jne 0x40487d
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x250]
mov dword [ebp - 0x250], 0x744cd84a
lea edx, [ebp - 0x58]
cmovae edx, dword [ebp - 0x58]
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x24c], 0x3e03bf4
mov dword [ebp - 0x248], 0xba82a837
mov dword [ebp - 0x244], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x250]
push 0x20
mov dword [ebp - 0x240], 0x201f9702
mov dword [ebp - 0x23c], 0x3e03bce
mov dword [ebp - 0x238], 0xba82a837
mov dword [ebp - 0x234], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x240]
push eax
movaps xmmword [ebp - 0x250], xmm1
call fcn.00401840
cmp dword [eax + 0x14], 0x10
jb 0x404856
mov eax, dword [eax]
mov ecx, dword [ebp - 0x218]
push eax
call fcn.00406aa0
lea ecx, [ebp - 0x100]
call fcn.004069d0
lea ecx, [ebp - 0x58]
call fcn.004069d0
lea ecx, [ebp - 0x70]
jmp 0x4040c0
push 0
push 0x41f457
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00406d50
push 0x80
call fcn.0040aafb
add esp, 4
mov esi, eax
push 0x80
push 0
push esi
call fcn.0040be30
add esp, 0xc
mov ecx, esi
call fcn.00407d20
push 8
push 0x9714571e
mov esi, eax
call fcn.00401210
push 0
push 0x43921f5
mov edi, eax
call fcn.00401320
sub esp, 8
mov dword [ebp - 0x1d4], eax
mov ecx, esp
xor eax, eax
push 0x41f590
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00406c40
sub esp, 0x18
mov ecx, esp
push 0
push 0x41f4bc
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00406d50
mov dword [ebp - 0x2f0], 0x506be36a
sub esp, 0x18
mov dword [ebp - 0x2ec], 0x74cf14f4
mov edx, esp
mov dword [ebp - 0x2e8], 0xc8e6db51
mov dword [ebp - 0x2e4], 0x8ee7a82c
movaps xmm1, xmmword [ebp - 0x2f0]
mov dword [ebp - 0x1d0], 0x201f9702
mov dword [ebp - 0x1cc], 0x3e03bce
mov dword [ebp - 0x1c8], 0xba82a837
mov dword [ebp - 0x1c4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1d0]
movaps xmmword [ebp - 0x2f0], xmm1
mov dword [ebp - 0x2e0], 0x934422fa
mov dword [ebp - 0x2dc], 0x870ef4c9
mov dword [ebp - 0x2d8], 0x124f2
mov dword [ebp - 0x2d4], 0xb94629db
movaps xmm1, xmmword [ebp - 0x2e0]
mov dword [ebp - 0x1c0], 0xbc3150d4
mov dword [ebp - 0x1bc], 0xa86784a8
mov dword [ebp - 0x1b8], 0x53754181
mov dword [ebp - 0x1b4], 0xca3248af
pxor xmm1, xmmword [ebp - 0x1c0]
mov dword [ebp - 0x2d0], 0x14100a28
mov dword [ebp - 0x2cc], 0xcc1fc45a
mov dword [ebp - 0x2c8], 0x6d28197b
mov dword [ebp - 0x2c4], 0x3645d59
movaps xmmword [ebp - 0x2e0], xmm1
movaps xmm1, xmmword [ebp - 0x2d0]
mov dword [ebp - 0x1b0], 0x64787a06
mov dword [ebp - 0x1ac], 0xcc1fc45a
mov dword [ebp - 0x1a8], 0x6d28197b
mov dword [ebp - 0x1a4], 0x3645d59
pxor xmm1, xmmword [ebp - 0x1b0]
movaps xmmword [ebp - 0x2d0], xmm1
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
lea ecx, [ebp - 0x2f0]
lea eax, [ecx + 1]
mov dword [ebp - 0x18c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404a81
sub ecx, dword [ebp - 0x18c]
lea eax, [ebp - 0x2f0]
push ecx
push eax
mov ecx, edx
call fcn.00406d50
push ecx
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
push edi
push dword [ebp - 0x1d4]
call fcn.00408490
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x18c], edx
cmp eax, 0xc8
jne 0x404ea3
test edx, edx
je 0x404ea3
xor edi, edi
test edx, edx
jle 0x404bfd
mov dword [ebp - 0x1a8], 0x41ee90
mov dword [ebp - 0x1a4], edi
nop word [eax + eax]
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
xor eax, 0x1d
mov dword [ebp - 0x1e0], eax
xor ecx, 0
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1a0], 0x1d
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x188], 0x9a06
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x198], 0x4d39
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x188]
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1a0]
add edx, eax
mov ecx, dword [ebp - 0x19c]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x1f0], edx
adc esi, 0
mov dword [ebp - 0x1ec], esi
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1dc]
sub edx, eax
mov dword [ebp - 0x1e8], edx
sbb esi, ecx
mov dword [ebp - 0x1e4], esi
mov esi, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1ec]
push eax
push ecx
push edx
push esi
call fcn.00418f10
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], edx
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1f4]
cmp dword [ebp - 0x14], 0x10
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
xor byte [eax + edi], cl
inc edi
cmp edi, dword [ebp - 0x18c]
jl 0x404af0
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x330], 0x744cd84a
lea esi, [ebp - 0x330]
mov dword [ebp - 0x32c], 0x3e03bf4
lea ecx, [esi + 1]
mov dword [ebp - 0x328], 0xba82a837
mov dword [ebp - 0x324], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x330]
mov dword [ebp - 0x1b0], 0x201f9702
mov dword [ebp - 0x1ac], 0x3e03bce
mov dword [ebp - 0x1a8], 0xba82a837
mov dword [ebp - 0x1a4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x1b0]
movaps xmmword [ebp - 0x330], xmm1
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x404c70
sub esi, ecx
lea eax, [ebp - 0x330]
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
push esi
cmovae ecx, dword [ebp - 0x28]
push eax
push 0
call fcn.004071c0
mov dword [ebp - 0x1a8], 0x4d24
add esp, 0xc
mov ecx, dword [ebp - 0x1a8]
mov edi, eax
xor ecx, 0x1d
mov dword [ebp - 0x1a4], 0
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x198], ecx
xor edx, 0
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x188], 0x1d
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x1a8], 0x9a06
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0x4d39
mov dword [ebp - 0x19c], 0
mov edx, dword [ebp - 0x1a8]
mov esi, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x188]
add edx, eax
mov ecx, dword [ebp - 0x184]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x188], edx
adc esi, 0
mov dword [ebp - 0x184], esi
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
mov esi, dword [ebp - 0x194]
sub edx, eax
mov dword [ebp - 0x1a8], edx
sbb esi, ecx
mov dword [ebp - 0x1a4], esi
mov esi, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x184]
push eax
push ecx
push edx
push esi
call fcn.00418f10
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
xor edx, edx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
cmp edi, eax
jne 0x404ea3
cmp edx, ecx
jne 0x404ea3
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x240]
mov dword [ebp - 0x240], 0x201f9738
lea edx, [ebp - 0x28]
cmovae edx, dword [ebp - 0x28]
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x23c], 0x3e03bce
mov dword [ebp - 0x238], 0xba82a837
mov dword [ebp - 0x234], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x240]
push 0x2f
mov dword [ebp - 0x2c0], 0x201f9702
mov dword [ebp - 0x2bc], 0x3e03bce
mov dword [ebp - 0x2b8], 0xba82a837
mov dword [ebp - 0x2b4], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x2c0]
push eax
movaps xmmword [ebp - 0x240], xmm1
call fcn.00401840
mov esi, dword [ebp - 0xf0]
xor edi, edi
push edi
push 0x41ef594
call fcn.00401320
add esp, 8
cmp edi, edx
jb 0x404e98
ja 0x404e4c
cmp esi, eax
jb 0x404e98
push 0
push 0x69bd7fb
call fcn.00401320
add esp, 8
cmp edi, edx
ja 0x404e98
jb 0x404e65
cmp esi, eax
jae 0x404e98
cmp dword [ebp - 0xec], 0x10
lea eax, [ebp - 0x100]
mov ecx, dword [ebp - 0x218]
cmovae eax, dword [ebp - 0x100]
push eax
call fcn.00406aa0
lea ecx, [ebp - 0x100]
call fcn.004069d0
lea ecx, [ebp - 0x28]
jmp 0x404868
lea ecx, [ebp - 0x100]
call fcn.004069d0
mov esi, dword [ebp - 0x218]
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x250], 0x162ab930
lea edx, [ecx + 1]
mov dword [ebp - 0x24c], 0x2dd90ee0
mov dword [ebp - 0x248], 0xba829a03
mov dword [ebp - 0x244], 0xe088cf4d
movaps xmm1, xmmword [ebp - 0x250]
mov dword [ebp - 0x240], 0x201f9702
mov dword [ebp - 0x23c], 0x3e03bce
mov dword [ebp - 0x238], 0xba82a837
mov dword [ebp - 0x234], 0xe088cf4d
pxor xmm1, xmmword [ebp - 0x240]
movaps xmmword [ebp - 0x250], xmm1
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404f30
sub ecx, edx
lea eax, [ebp - 0x250]
push ecx
push eax
mov ecx, esi
call fcn.00406d50
lea ecx, [ebp - 0x28]
call fcn.004069d0
lea ecx, [ebp - 0x58]
call fcn.004069d0
lea ecx, [ebp - 0x70]
call fcn.004069d0
lea ecx, [ebp - 0x40]
call fcn.004069d0
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.0040aaea
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0040e200
call fcn.0040e200
call fcn.0040e200
call fcn.00406e90
int3