Function at 0x418990
Capabilities:
Parse pe header

Disassembly:
push 0x4c8
mov eax, 0x44f25d
call fcn.0044bbed
mov ebx, ecx
mov dword [ebp - 0x404], ebx
mov eax, dword [ebp + 8]
lea edi, [ebp - 0x228]
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x478], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
and dword [ebp - 4], 0
lea edi, [ebp - 0x368]
xor eax, eax
lea ecx, [ebp - 0x368]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 1
mov dword [ebp - 0x294], 3
test esi, esi
je 0x418aee
mov ecx, esi
call fcn.00406b76
push 3
pop ecx
cmp eax, ecx
jle 0x418aee
and dword [ebp - 0x244], 0
lea eax, [ebp - 0x244]
push eax
push esi
call dword [0x450334]
mov esi, eax
mov dword [ebp - 0x3f8], esi
push 2
pop eax
mov byte [ebp - 4], al
cmp dword [ebp - 0x244], 0
je 0x418adf
test esi, esi
je 0x418adf
push dword [esi]
call dword [0x450350]
test eax, eax
je 0x418adf
push dword [esi]
add ebx, 0xc50
mov ecx, ebx
call fcn.00404cbc
push 1
push 1
mov ecx, ebx
call fcn.00404e5e
mov ecx, dword [ebp - 0x404]
push eax
lea ecx, [ecx + 0xc5c]
call fcn.00404da4
mov ecx, eax
call fcn.00404f95
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x38c]
rep stosd dword es:[edi], eax
xor edi, edi
mov ecx, ebx
push edi
push edi
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x38c]
call fcn.00403abe
mov ebx, dword [ebp - 0x404]
lea ecx, [ebp - 0x38c]
push 3
pop eax
mov byte [ebp - 4], al
push edi
lea eax, [ebx + 0xc68]
push eax
call fcn.00403f44
lea ecx, [ebp - 0x384]
call fcn.00406953
lea ecx, [ebp - 0x38c]
call fcn.00401020
mov byte [ebp - 4], 1
test esi, esi
je 0x418aee
push esi
call dword [0x4502fc]
lea esi, [ebx + 0xc5c]
mov ecx, esi
call fcn.00405041
test al, al
je 0x418b16
lea ecx, [ebx + 0xc50]
call fcn.00404d38
push 0x474450
mov ecx, esi
call fcn.00404cbc
push 0
call dword [0x4503b0]
mov esi, dword [0x450148]
mov edi, eax
push 8
push edi
call esi
push 0xa
push edi
mov ebx, eax
call esi
push edi
xor edi, edi
mov esi, eax
push edi
call dword [0x4503b4]
push edi
push edi
push 0x80
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x230], edi
mov dword [ebp - 0x240], edi
mov dword [ebp - 0x24c], edi
mov dword [ebp - 0x290], edi
mov dword [ebp - 0x2b0], edi
mov dword [ebp - 0x234], edi
call fcn.0040516f
push eax
push edi
push edi
push 0x80
lea ecx, [ebp - 0x368]
call fcn.0040516f
xor edx, edx
mov ecx, eax
call fcn.004183dc
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x474470
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push str.HKU_
lea ecx, [ebp - 0x228]
call fcn.00404ddf
push edi
push 0x20019
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x22c], edi
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x22c]
call fcn.00401a5d
mov edi, dword [ebp - 0x404]
lea ecx, [ebp - 0x22c]
add edi, 0xc4c
mov byte [ebp - 4], 4
push edi
push 0x4744ec
call fcn.00401bd0
test al, al
jne 0x418c08
mov dword [edi], 1
push 0
or edi, 0xffffffff
lea ecx, [ebp - 0x22c]
push edi
push 0x474508
call fcn.00401a7a
lea eax, [ebp - 0x234]
push eax
push 0x47455c
lea ecx, [ebp - 0x22c]
call fcn.00401bd0
xor eax, eax
lea ecx, [ebp - 0x22c]
cmp dword [ebp - 0x234], eax
push 0
push edi
sete al
push 0x474580
mov dword [ebp - 0x234], eax
call fcn.00401a7a
lea eax, [ebp - 0x230]
push eax
push 0x4745ec
lea ecx, [ebp - 0x22c]
call fcn.00401bd0
push 9
pop ecx
push 0x20
pop edx
test al, al
je 0x418c8b
cmp dword [ebp - 0x230], 8
jb 0x418c8b
cmp dword [ebp - 0x230], edx
jbe 0x418c91
mov dword [ebp - 0x230], ecx
lea eax, [ebp - 0x240]
push eax
push 0x474600
lea ecx, [ebp - 0x22c]
call fcn.00401bd0
mov ecx, dword [ebp - 0x240]
test al, al
lea eax, [ebp - 0x24c]
cmove ecx, edi
push eax
mov dword [ebp - 0x240], ecx
lea ecx, [ebp - 0x22c]
push 0x474618
call fcn.00401bd0
mov ecx, dword [ebp - 0x24c]
test al, al
cmove ecx, edi
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x240], ebx
ja 0x418cf5
cmp dword [ebp - 0x240], 0xfa
jae 0x418d07
xor edx, edx
mov eax, ebx
div dword [ebp - 0x294]
add eax, eax
mov dword [ebp - 0x240], eax
cmp ecx, esi
ja 0x418d13
cmp ecx, 0x96
jae 0x418d24
push 3
xor edx, edx
mov eax, esi
pop ecx
div ecx
add eax, eax
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x290]
push eax
push 0x474634
lea ecx, [ebp - 0x22c]
call fcn.00401bd0
mov ecx, dword [ebp - 0x290]
test al, al
lea eax, [ebp - 0x2b0]
cmove ecx, edi
push eax
mov dword [ebp - 0x290], ecx
lea ecx, [ebp - 0x22c]
push 0x47464c
call fcn.00401bd0
mov edi, dword [ebp - 0x2b0]
test al, al
mov eax, dword [ebp - 0x290]
push 0xffffffffffffffff
pop edx
cmove edi, edx
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x2b0], edi
cmp eax, 1
jl 0x418d92
sub ebx, dword [ebp - 0x240]
cmp eax, ebx
jle 0x418d9a
mov eax, edx
mov dword [ebp - 0x244], edx
cmp edi, 1
jl 0x418da9
sub esi, dword [ebp - 0x24c]
cmp edi, esi
jle 0x418dab
mov edi, edx
mov ebx, dword [ebp - 0x404]
xor ecx, ecx
push ecx
push ecx
push edx
push 0xcf0000
push edi
push eax
push dword [ebp - 0x24c]
lea esi, [ebx + 0x40]
push dword [ebp - 0x240]
mov dword [ebp - 0x410], esi
push ecx
push 0x474664
mov ecx, esi
call fcn.0040bb1e
lea eax, [ebx + 0xc5c]
mov ecx, ebx
push eax
call fcn.00420a38
push 0
push 0
push 0x50
push 0xc8
mov ecx, esi
call fcn.0040d0e0
push 0
push 0x474690
mov ecx, esi
call fcn.0040f946
mov esi, eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x47469c
push esi
call fcn.0040faea
mov dword [ebp - 0x46c], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x4746c0
push esi
call fcn.0040faea
mov dword [ebp - 0x448], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x4746d8
push esi
call fcn.0040faea
mov dword [ebp - 0x444], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x4746f0
push esi
call fcn.0040faea
mov dword [ebp - 0x41c], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push eax
push esi
call fcn.0040faea
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x47471c
push esi
lea ecx, [ebx + 0x40]
call fcn.0040faea
mov dword [ebp - 0x420], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474738
push esi
call fcn.0040faea
mov dword [ebp - 0x424], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push eax
push esi
call fcn.0040faea
xor eax, eax
lea ecx, [ebx + 0x40]
push eax
push eax
push eax
push 0x32
push 0x474764
push esi
call fcn.0040faea
mov dword [ebp - 0x450], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push 4
push 1
push 0x46ffec
push eax
call fcn.0040faea
mov esi, eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474780
push esi
call fcn.0040faea
mov dword [ebp - 0x440], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474798
push esi
call fcn.0040faea
mov dword [ebp - 0x43c], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x4747d8
push esi
call fcn.0040faea
mov dword [ebp - 0x438], eax
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x4747f4
push esi
lea ecx, [ebx + 0x40]
call fcn.0040faea
mov dword [ebp - 0x430], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x47481c
push esi
call fcn.0040faea
mov dword [ebp - 0x42c], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474840
push esi
call fcn.0040faea
mov dword [ebp - 0x428], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push eax
push esi
call fcn.0040faea
xor eax, eax
lea ecx, [ebx + 0x40]
push eax
push eax
push eax
push 0x32
push 0x474858
push esi
call fcn.0040faea
mov dword [ebp - 0x490], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474878
push esi
call fcn.0040faea
mov dword [ebp - 0x48c], eax
xor eax, eax
push eax
push eax
push 4
push 2
pop ecx
push ecx
push 0x474898
push eax
lea ecx, [ebx + 0x40]
call fcn.0040faea
mov esi, eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x4748a4
push esi
call fcn.0040faea
mov dword [ebp - 0x488], eax
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x4748d8
push esi
lea ecx, [ebx + 0x40]
call fcn.0040faea
mov dword [ebp - 0x4c4], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474904
push esi
call fcn.0040faea
mov dword [ebp - 0x4b4], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474938
push esi
call fcn.0040faea
mov dword [ebp - 0x4b0], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push eax
push esi
call fcn.0040faea
xor eax, eax
lea ecx, [ebx + 0x40]
push eax
push eax
push eax
push 0x32
push 0x474984
push esi
call fcn.0040faea
mov dword [ebp - 0x484], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push eax
push esi
call fcn.0040faea
xor eax, eax
lea ecx, [ebx + 0x40]
push eax
push eax
push eax
push 0x32
push 0x4749b4
push esi
call fcn.0040faea
mov dword [ebp - 0x480], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push eax
push esi
call fcn.0040faea
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x4749d0
push esi
lea ecx, [ebx + 0x40]
call fcn.0040faea
mov dword [ebp - 0x494], eax
xor eax, eax
push eax
push eax
push 4
push 3
pop ecx
push ecx
push 0x474a14
push eax
lea ecx, [ebx + 0x40]
call fcn.0040faea
mov esi, eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474a2c
push esi
call fcn.0040faea
mov dword [ebp - 0x498], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474a64
push esi
call fcn.0040faea
mov dword [ebp - 0x49c], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474a90
push esi
call fcn.0040faea
mov dword [ebp - 0x4bc], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474ac0
push esi
call fcn.0040faea
mov dword [ebp - 0x4a0], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474aec
push esi
call fcn.0040faea
mov dword [ebp - 0x4a4], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474b18
push esi
call fcn.0040faea
mov dword [ebp - 0x4a8], eax
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474b54
push esi
lea ecx, [ebx + 0x40]
call fcn.0040faea
mov dword [ebp - 0x4ac], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474b84
push esi
call fcn.0040faea
mov dword [ebp - 0x4b8], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push eax
push esi
call fcn.0040faea
xor eax, eax
lea ecx, [ebx + 0x40]
push eax
push eax
push eax
push 0x32
push 0x474bc0
push esi
call fcn.0040faea
mov dword [ebp - 0x47c], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474c18
push esi
call fcn.0040faea
mov dword [ebp - 0x474], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push eax
push esi
call fcn.0040faea
xor eax, eax
lea ecx, [ebx + 0x40]
push eax
push eax
push eax
push 0x32
push 0x474c6c
push esi
call fcn.0040faea
mov dword [ebp - 0x470], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474ca8
push esi
call fcn.0040faea
mov dword [ebp - 0x418], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474cf0
push esi
call fcn.0040faea
mov dword [ebp - 0x414], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474d40
push esi
call fcn.0040faea
mov dword [ebp - 0x434], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push eax
push esi
call fcn.0040faea
xor eax, eax
lea ecx, [ebx + 0x40]
push eax
push eax
push eax
push 0x32
push 0x474d70
push esi
call fcn.0040faea
mov dword [ebp - 0x468], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push 4
push 4
push 0x474dbc
push eax
call fcn.0040faea
mov esi, eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474dc8
push esi
call fcn.0040faea
mov dword [ebp - 0x464], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474df4
push esi
call fcn.0040faea
mov dword [ebp - 0x460], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474e18
push esi
call fcn.0040faea
mov dword [ebp - 0x4d0], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474e64
push esi
call fcn.0040faea
mov dword [ebp - 0x45c], eax
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474e9c
push esi
lea ecx, [ebx + 0x40]
call fcn.0040faea
mov dword [ebp - 0x4cc], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474ed0
push esi
call fcn.0040faea
mov dword [ebp - 0x4c8], eax
lea ecx, [ebx + 0x40]
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474f10
push esi
call fcn.0040faea
mov dword [ebp - 0x4c0], eax
xor eax, eax
push eax
push eax
push eax
push 0x32
push 0x474f50
push esi
lea esi, [ebx + 0x40]
mov ecx, esi
call fcn.0040faea
mov dword [ebp - 0x458], eax
mov ecx, esi
lea eax, [ebp - 0x28c]
push eax
push 0
call fcn.0040bfda
push eax
call dword [0x4503fc]
mov eax, dword [ebp - 0x288]
sub dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x28c]
sub dword [ebp - 0x284], ecx
mov ecx, esi
push 0
movd xmm0, eax
cvtdq2pd xmm1, xmm0
shr eax, 0x1f
push 0x474f98
push 1
push 0x190
addsd xmm1, qword [eax*8 + 0x49a900]
call fcn.0040cf4b
or eax, 0xffffffff
mov ecx, esi
push eax
push eax
push dword [ebp - 0x280]
xor eax, eax
push dword [ebp - 0x284]
push eax
push eax
push eax
call fcn.0040f416
push 0xffffff
push 0
push eax
mov ecx, esi
mov dword [ebx + 0xc48], eax
call fcn.004105b8
lea ecx, [ebx + 0xc68]
call fcn.00404d78
test eax, eax
je 0x419485
push 0
lea ecx, [ebx + 0xc68]
call fcn.00404e5e
push eax
or eax, 0xffffffff
mov ecx, esi
push eax
call fcn.00410d52
push 0x833
or eax, 0xffffffff
mov ecx, esi
push eax
call fcn.004106a4
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.0040bfda
push 0
push esi
push 0x42129f
push eax
mov dword [ebp - 0x3fc], eax
call dword [0x450098]
push 0
push 0
push 0xc5
push dword [ebp - 0x3fc]
call dword [0x4503a8]
push 1
mov ecx, esi
call fcn.0040bae7
push 5
push 1
push 0xd3
push dword [ebp - 0x3fc]
call dword [0x4503a8]
or eax, 0xffffffff
mov ecx, esi
push eax
push 0x40000000
push 0xa
push 0xa
push 0
push 0
push 0x46f8f4
call fcn.0040f732
mov dword [ebp - 0x44c], eax
mov ecx, esi
or eax, 0xffffffff
push eax
push 0x40000000
push 0xa
push 0xa
push 0
push 0xa
push 0x46f8f4
call fcn.0040f732
push 9
pop edx
mov ecx, eax
mov byte [ebp - 0xd4], dl
push 0x4e
pop eax
mov word [ebp - 0xd2], ax
mov eax, dword [ebp - 0x46c]
push 0x4f
mov word [ebp - 0xd0], ax
pop eax
mov word [ebp - 0xcc], ax
mov eax, dword [ebp - 0x448]
push 0x53
mov byte [ebp - 0xce], dl
mov byte [ebp - 0xc8], dl
pop edx
mov word [ebp - 0xca], ax
mov eax, dword [ebp - 0x444]
mov word [ebp - 0xc4], ax
push 0x74
pop eax
mov word [ebp - 0xc6], dx
mov word [ebp - 0xc0], dx
mov edx, dword [ebp - 0x41c]
mov word [ebp - 0xba], ax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x4d4], ecx
mov byte [ebp - 0xc2], 0x11
mov word [ebp - 0xbe], dx
mov byte [ebp - 0xbc], 1
mov word [ebp - 0xb8], ax
mov byte [ebp - 0xb6], 1
push 0x75
pop eax
push 9
pop edx
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0x424]
push 0x51
mov word [ebp - 0xb2], ax
pop eax
mov word [ebp - 0xae], ax
mov eax, dword [ebp - 0x450]
push 0x43
pop esi
mov word [ebp - 0xac], ax
mov eax, dword [ebp - 0x440]
mov word [ebp - 0xa6], ax
mov eax, dword [ebp - 0x43c]
push 0x56
mov word [ebp - 0xa0], ax
pop eax
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0x438]
push 0x2e
mov word [ebp - 0x9a], ax
pop eax
mov word [ebp - 0x96], ax
mov eax, dword [ebp - 0x430]
push 0x41
mov word [ebp - 0x94], ax
pop eax
mov word [ebp - 0x90], ax
mov eax, dword [ebp - 0x42c]
push 0x5a
mov word [ebp - 0x8e], ax
pop eax
push 0x49
mov word [ebp - 0x8a], ax
mov eax, dword [ebp - 0x428]
mov word [ebp - 0x88], ax
mov eax, dword [ebp - 0x490]
mov word [ebp - 0x82], ax
mov byte [ebp - 0xb0], dl
mov byte [ebp - 0xaa], dl
mov byte [ebp - 0x9e], dl
mov byte [ebp - 0x98], dl
mov byte [ebp - 0x92], dl
mov byte [ebp - 0x8c], dl
mov byte [ebp - 0x86], dl
pop edx
push 9
pop eax
push 0x44
mov byte [ebp - 0x80], al
pop eax
mov word [ebp - 0x7e], ax
mov eax, dword [ebp - 0x48c]
push 9
mov word [ebp - 0x7c], ax
mov eax, dword [ebp - 0x488]
mov word [ebp - 0x76], ax
mov eax, dword [ebp - 0x484]
mov word [ebp - 0x84], dx
mov word [ebp - 0x78], dx
pop edx
push 0x46
mov word [ebp - 0x70], ax
pop eax
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0x480]
push 0x72
mov word [ebp - 0x6a], ax
pop eax
mov word [ebp - 0xa8], si
mov byte [ebp - 0xa4], 0x19
mov word [ebp - 0xa2], si
mov byte [ebp - 0x7a], 0x11
mov byte [ebp - 0x74], 0x11
mov word [ebp - 0x72], si
mov byte [ebp - 0x6e], dl
mov byte [ebp - 0x68], 1
mov word [ebp - 0x66], ax
push 0x56
pop eax
push 0x47
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x47c]
mov word [ebp - 0x5e], ax
pop eax
push 0x4d
mov word [ebp - 0x5a], ax
mov eax, dword [ebp - 0x474]
mov word [ebp - 0x58], ax
pop eax
push 0x57
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x470]
mov word [ebp - 0x52], ax
mov eax, dword [ebp - 0x418]
mov word [ebp - 0x4c], ax
mov eax, dword [ebp - 0x414]
mov word [ebp - 0x46], ax
mov word [ebp - 0x64], cx
pop ecx
push 0x45
pop eax
push 0x4c
mov word [ebp - 0x42], ax
mov eax, dword [ebp - 0x434]
mov esi, dword [ebp - 0x244]
mov word [ebp - 0x40], ax
pop eax
mov word [ebp - 0x3c], ax
mov eax, dword [ebp - 0x468]
push 0x70
mov word [ebp - 0x3a], ax
mov eax, dword [ebp - 0x464]
mov word [ebp - 0x34], ax
mov eax, dword [ebp - 0x460]
mov word [ebp - 0x4e], cx
mov word [ebp - 0x48], cx
pop ecx
push 0x20
mov word [ebp - 0x2e], ax
mov eax, dword [ebp - 0x45c]
mov word [ebp - 0x28], ax
pop eax
push 8
push dword [ebp - 0x24c]
mov word [ebp - 0x24], ax
push dword [ebp - 0x240]
mov eax, dword [ebp - 0x458]
push edi
push esi
push 0
mov word [ebp - 0x36], cx
mov word [ebp - 0x30], cx
mov word [ebp - 0x2a], cx
lea ecx, [ebx + 0x40]
mov word [ebp - 0x22], ax
mov eax, dword [ebp - 0x44c]
push 0
mov byte [ebp - 0x62], 0x11
mov byte [ebp - 0x5c], dl
mov byte [ebp - 0x56], 0x11
mov byte [ebp - 0x50], 0x11
mov byte [ebp - 0x4a], dl
mov byte [ebp - 0x44], 0x11
mov byte [ebp - 0x3e], 0x11
mov byte [ebp - 0x38], 1
mov byte [ebp - 0x32], dl
mov byte [ebp - 0x2c], 0x19
mov byte [ebp - 0x26], dl
mov byte [ebp - 0x20], 1
mov word [ebp - 0x1e], dx
mov word [ebp - 0x1c], ax
call fcn.0040bfda
push eax
call dword [0x4503a4]
or eax, 0xffffffff
cmp esi, eax
lea esi, [ebx + 0x40]
jne 0x419864
cmp edi, eax
jne 0x419864
push 0
push 0
mov ecx, esi
call fcn.0040bfda
xor edx, edx
mov ecx, eax
call fcn.004083fc
push 1
push 1
mov ecx, esi
call fcn.0040d16c
push 0x1f
lea eax, [ebp - 0xd4]
mov ecx, esi
push eax
call fcn.0040cbf3
xor eax, eax
lea edi, [ebp - 0x270]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x270]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 5
lea edi, [ebp - 0x32c]
xor eax, eax
lea ecx, [ebp - 0x32c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 6
lea edi, [ebp - 0x2d8]
xor eax, eax
lea ecx, [ebp - 0x2d8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov eax, 0x400
mov byte [ebp - 4], 7
push eax
xor edi, edi
lea ecx, [ebp - 0x32c]
push edi
push edi
push eax
call fcn.0040516f
push eax
push edi
call dword [0x450298]
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x270]
call fcn.00404cc5
push 1
lea ecx, [ebp - 0x270]
call fcn.00404fe0
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x474fb0
lea ecx, [ebp - 0x270]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x2d8]
call fcn.00404ddf
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x474fc8
lea ecx, [ebp - 0x270]
call fcn.00405c5c
lea ecx, [ebp - 0x270]
call fcn.00404e5e
push eax
call dword [0x450350]
test eax, eax
jne 0x41996c
lea ecx, [ebp - 0x270]
call fcn.00404d38
lea ecx, [ebp - 0x270]
call fcn.00405041
test al, al
je 0x419a48
xor eax, eax
lea edi, [ebp - 0x2a0]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x2a0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
xor edi, edi
mov byte [ebp - 4], 8
push edi
push 0x20019
push 0x474508
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x248], edi
call fcn.00401a5d
push 9
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x248]
lea eax, [ebp - 0x2a0]
push eax
push 0x474fe0
call fcn.00401ab3
test al, al
je 0x419a2e
lea ecx, [ebp - 0x270]
call fcn.00405041
test al, al
je 0x419a0d
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x474ff8
lea ecx, [ebp - 0x2a0]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x270]
call fcn.00404ddf
lea ecx, [ebp - 0x270]
call fcn.00404e5e
push eax
call dword [0x450350]
test eax, eax
jne 0x419a2e
lea ecx, [ebp - 0x270]
call fcn.00404d38
lea ecx, [ebp - 0x248]
call fcn.00401aa0
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 7
call fcn.00401a4f
lea ecx, [ebp - 0x270]
call fcn.00405041
mov edi, dword [ebp - 0x420]
test al, al
je 0x419a76
push 0x40
push edi
mov ecx, esi
call fcn.0041083d
push 0x40
push dword [ebp - 0x424]
mov ecx, esi
call fcn.0041083d
push 0x80
push dword [ebx + 0xc48]
mov ecx, esi
mov dword [ebp - 0x244], 0xfffffffe
call fcn.0041083d
push 0
xor dl, dl
mov ecx, ebx
call fcn.0040b30c
jmp 0x419f72
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x419ac0
cmp dword [ebx], 0xfffffffa
jne 0x419ac0
mov dl, 1
mov ecx, ebx
call fcn.0040b331
test eax, eax
jne 0x419aae
jmp 0x41b3c6
cmp eax, esi
jne 0x41b3fc
cmp dword [ebx], 0
jg 0x419b0e
cmp dword [ebx], 0xfffffff9
je 0x419b0e
cmp dword [ebx], 0xfffffff8
je 0x419b0e
cmp dword [ebx], 0xfffffff6
je 0x419b0e
cmp dword [ebx], 0xfffffffe
je 0x419b0e
cmp dword [ebx], 0xfffffff3
je 0x419b0e
cmp dword [ebx], 0xfffffff2
je 0x419b0e
cmp dword [ebx], 0xffffffee
je 0x419b0e
cmp dword [ebx], 0xffffffed
je 0x419b0e
cmp dword [ebx], 0xffffffec
je 0x419b0e
cmp dword [ebx], 0xffffffe7
je 0x419b0e
cmp dword [ebx], 0xfffffff5
je 0x419b0e
cmp dword [ebx], 0xffffffea
je 0x419b0e
cmp dword [ebx], 0xffffffe5
jg 0x419b24
xor eax, eax
or ecx, 0xffffffff
push eax
push ecx
push ecx
push eax
push ecx
push eax
push eax
push eax
push eax
push eax
mov ecx, esi
call fcn.0040d245
mov ecx, dword [ebx]
cmp ecx, 0xfffffffa
je 0x41b3b9
cmp ecx, dword [ebp - 0x450]
je 0x41b3b9
cmp ecx, 0xfffffffb
jne 0x419b78
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 0xc48]
jne 0x419b78
xor eax, eax
lea ecx, [ebp - 0x228]
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x46fbcc
push dword [ebx + 0x10]
call fcn.00404ddf
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
jmp 0x419b85
cmp ecx, dword [ebp - 0x44c]
jne 0x419b91
push 0x46fef8
push 0
push 0xc2
jmp 0x41b3a8
cmp ecx, dword [ebp - 0x46c]
jne 0x419c3b
mov dl, 1
mov ecx, ebx
call fcn.0040b331
test eax, eax
jne 0x419b9d
push eax
push eax
push 0xb8
push dword [ebp - 0x3fc]
call dword [0x4503a8]
test eax, eax
je 0x419bd7
push 3
pop eax
push eax
mov ecx, ebx
call fcn.004206fc
or ecx, 0xffffffff
cmp eax, ecx
je 0x419f61
push 0
push 0
push 0xb
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.004102e9
push 0
push 0x46f8f4
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.00410d52
push 0
push 1
push 0xb
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.004102e9
lea ecx, [ebx + 0xc50]
call fcn.00404d38
lea edi, [ebx + 0xc5c]
push 0x474450
mov ecx, edi
call fcn.00404cbc
push edi
mov ecx, ebx
call fcn.00420a38
jmp 0x419f61
cmp ecx, dword [ebp - 0x448]
jne 0x419d99
mov dl, 1
mov ecx, ebx
call fcn.0040b331
test eax, eax
jne 0x419c47
push eax
push eax
push 0xb8
push dword [ebp - 0x3fc]
call dword [0x4503a8]
test eax, eax
je 0x419c81
push 3
pop eax
push eax
mov ecx, ebx
call fcn.004206fc
or ecx, 0xffffffff
cmp eax, ecx
je 0x419f61
xor eax, eax
lea edi, [ebp - 0x2fc]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x2fc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
push 0
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.0040bfda
push eax
xor eax, eax
lea ecx, [ebp - 0x2fc]
push eax
push eax
push 0x1808
push 0x475010
push eax
mov edx, 0x475090
call fcn.004047f0
test al, al
jne 0x419cdc
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 7
call fcn.00401a4f
jmp 0x419f61
lea eax, [ebp - 0x2fc]
lea esi, [ebx + 0xc50]
push eax
mov ecx, esi
call fcn.00404cc5
push 1
push 1
mov ecx, esi
call fcn.00404e5e
push eax
lea ecx, [ebx + 0xc5c]
call fcn.00404da4
mov ecx, eax
call fcn.00404f95
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x38c]
xor esi, esi
rep stosd dword es:[edi], eax
push esi
push esi
lea ecx, [ebp - 0x2fc]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x38c]
call fcn.00403abe
push esi
lea esi, [ebx + 0xc68]
mov byte [ebp - 4], 0xb
push esi
lea ecx, [ebp - 0x38c]
call fcn.00403f44
test eax, eax
je 0x419d6d
push 0
mov ecx, esi
call fcn.00404e5e
push eax
push dword [ebx + 0xc48]
lea esi, [ebx + 0x40]
mov ecx, esi
call fcn.00410d52
jmp 0x419d70
lea esi, [ebx + 0x40]
lea eax, [ebx + 0xc5c]
mov ecx, ebx
push eax
call fcn.00420a38
lea ecx, [ebp - 0x384]
call fcn.00406953
lea ecx, [ebp - 0x38c]
call fcn.00401020
jmp 0x419cc8
mov eax, dword [ebp - 0x41c]
cmp ecx, dword [ebp - 0x444]
je 0x41b335
cmp ecx, eax
je 0x41b339
cmp ecx, edi
jne 0x41a08d
lea ecx, [ebp - 0x270]
call fcn.00405041
test al, al
jne 0x419f61
push 0
call dword [0x450468]
jmp 0x419e60
mov edx, 0x4750b0
mov ecx, esi
call fcn.0040a182
mov edi, eax
test edi, edi
je 0x419e55
mov eax, 0x80
lea ecx, [ebp - 0x228]
push eax
push 0
push 0
push eax
call fcn.0040516f
push eax
push edi
call dword [0x450420]
cmp eax, 0xa
jl 0x419e55
push 0x4750e8
lea ecx, [ebp - 0x228]
call fcn.00404d17
test al, al
jne 0x419e55
mov edx, 0x475100
mov ecx, esi
call fcn.0040a182
mov dword [ebp - 0x408], eax
test eax, eax
je 0x419e55
push 0
push 0
push 0xbd
push dword [ebp - 0x3fc]
call dword [0x4503a8]
mov edi, eax
test edi, edi
jne 0x419e6c
push 2
pop eax
push eax
push esi
call dword [0x450424]
mov esi, eax
test esi, esi
jne 0x419ddb
jmp 0x419ea7
push 9
pop eax
push eax
push esi
call dword [0x4504b0]
push esi
call dword [0x450440]
push edi
call dword [0x4501d0]
push eax
push 0
push 0xc
push dword [ebp - 0x408]
call dword [0x4503a8]
push edi
mov esi, eax
call dword [0x4501cc]
test esi, esi
jne 0x419f5e
mov dl, 1
mov ecx, ebx
call fcn.0040b331
test eax, eax
jne 0x419ea7
push eax
push eax
push 0xb8
push dword [ebp - 0x3fc]
call dword [0x4503a8]
lea esi, [ebx + 0xc50]
test eax, eax
jne 0x419ee3
mov ecx, esi
call fcn.00404e5e
push eax
call dword [0x450350]
test eax, eax
jne 0x419ef3
push 1
mov ecx, ebx
call fcn.004206fc
or ecx, 0xffffffff
cmp eax, ecx
je 0x419f5e
xor eax, eax
lea edi, [ebp - 0x344]
stosd dword es:[edi], eax
mov ecx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x46fa20
call fcn.00404e5e
push eax
push 0x475134
lea ecx, [ebp - 0x270]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x344]
call fcn.00404c8f
push 2
pop eax
push eax
push 5
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0xc
call fcn.00404e5e
xor edx, edx
mov ecx, eax
call fcn.004045aa
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 7
call fcn.00401a4f
lea esi, [ebx + 0x40]
push 0
xor dl, dl
mov ecx, ebx
call fcn.0040b30c
mov edi, dword [ebp - 0x420]
test eax, eax
jne 0x419aa2
xor ebx, ebx
lea eax, [ebp - 0x230]
push ebx
push eax
push 4
pop edi
push edi
push 0x4745ec
lea ecx, [ebp - 0x22c]
call fcn.00401ceb
push ebx
mov ecx, esi
call fcn.0040bfda
push eax
call dword [0x450498]
test eax, eax
jne 0x41a041
lea eax, [ebp - 0x28c]
mov ecx, esi
push eax
push ebx
call fcn.0040bfda
push eax
call dword [0x4503a0]
mov eax, dword [ebp - 0x28c]
lea ecx, [ebp - 0x22c]
sub dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x288]
sub dword [ebp - 0x280], eax
lea eax, [ebp - 0x284]
push ebx
push eax
push edi
push 0x474600
call fcn.00401ceb
push ebx
lea eax, [ebp - 0x280]
push eax
push edi
push 0x474618
lea ecx, [ebp - 0x22c]
call fcn.00401ceb
push ebx
lea eax, [ebp - 0x28c]
push eax
push edi
push 0x474634
lea ecx, [ebp - 0x22c]
call fcn.00401ceb
push ebx
lea eax, [ebp - 0x288]
push eax
push edi
push 0x47464c
lea ecx, [ebp - 0x22c]
call fcn.00401ceb
lea ecx, [ebp - 0x2d8]
call fcn.00401a4f
lea ecx, [ebp - 0x32c]
call fcn.00401a4f
lea ecx, [ebp - 0x270]
call fcn.00401a4f
lea ecx, [ebp - 0x22c]
call fcn.00401aa0
lea ecx, [ebp - 0x368]
call fcn.00401a4f
lea ecx, [ebp - 0x228]
call fcn.00401a4f
xor eax, eax
call fcn.0044bba8
ret 0xc
cmp ecx, dword [ebp - 0x424]
jne 0x41a145
push 0
push 0
push 0xb8
push dword [ebp - 0x3fc]
call dword [0x4503a8]
lea esi, [ebx + 0xc50]
test eax, eax
jne 0x41a0ca
mov ecx, esi
call fcn.00404e5e
push eax
call dword [0x450350]
test eax, eax
jne 0x41a0de
push 1
mov ecx, ebx
call fcn.004206fc
or ecx, 0xffffffff
cmp eax, ecx
je 0x419f5e
xor eax, eax
lea edi, [ebp - 0x350]
stosd dword es:[edi], eax
mov ecx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x475150
call fcn.00404e5e
push eax
push 0x475134
lea ecx, [ebp - 0x270]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x350]
call fcn.00404c8f
push 2
pop eax
push eax
push 5
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0xd
call fcn.00404e5e
xor edx, edx
mov ecx, eax
call fcn.004045aa
lea ecx, [ebp - 0x350]
jmp 0x419f55
cmp ecx, dword [ebp - 0x440]
jne 0x41a19f
push 0
lea eax, [ebp - 0x228]
mov ecx, ebx
push eax
call fcn.00420aa3
test al, al
je 0x419f61
push 0xd
lea ecx, [ebp - 0x228]
call fcn.00404d78
lea ecx, [ebp - 0x228]
lea eax, [eax*2 + 2]
push eax
call fcn.00404e5e
push 0
lea ecx, [ebx + 0x40]
mov esi, eax
call fcn.0040bfda
mov edx, esi
mov ecx, eax
call fcn.0040a0c1
jmp 0x419f5e
cmp ecx, dword [ebp - 0x43c]
jne 0x41a1ab
push 1
jmp 0x41a14f
cmp ecx, dword [ebp - 0x438]
jne 0x41a1ef
push 0
mov ecx, esi
call fcn.0040bfda
lea edx, [ebp - 0x228]
mov ecx, eax
call fcn.0040a05a
test al, al
je 0x419f61
lea ecx, [ebp - 0x228]
call fcn.00404e5e
mov edi, dword [0x4503a8]
push eax
push 0
push 0xc2
jmp 0x41a4bd
cmp ecx, dword [ebp - 0x430]
jne 0x41a230
xor edi, edi
mov ecx, esi
push edi
push edi
push 0xb
push dword [ebx + 0xc48]
call fcn.004102e9
push edi
push edi
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.00410d52
push edi
push 1
push 0xb
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.004102e9
jmp 0x41b39f
cmp ecx, dword [ebp - 0x42c]
jne 0x41a245
or eax, 0xffffffff
push eax
push 0
push 0xb1
jmp 0x41a256
cmp ecx, dword [ebp - 0x428]
jne 0x41a268
push 0
push 0
push 0xc7
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.004102e9
jmp 0x419f61
mov eax, dword [ebp - 0x230]
cmp ecx, dword [ebp - 0x490]
jne 0x41a27e
cmp eax, 0x20
jae 0x41a27e
inc eax
jmp 0x41a28c
cmp ecx, dword [ebp - 0x48c]
jne 0x41a2d4
cmp eax, 8
jbe 0x41a2d4
dec eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x230], eax
shr eax, 0x1f
push ecx
push ecx
mov ecx, esi
addsd xmm0, qword [eax*8 + 0x49a900]
xor eax, eax
movsd qword [esp], xmm0
push eax
push eax
push eax
push eax
push dword [ebx + 0xc48]
call fcn.004105f5
push 1
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.004102ae
jmp 0x419f61
cmp ecx, dword [ebp - 0x488]
jne 0x41a2f1
push 5
lea eax, [ebp - 0x12c]
mov ecx, ebx
push eax
call fcn.0041da35
jmp 0x419f61
cmp ecx, dword [ebp - 0x4c4]
jne 0x41a324
mov ecx, ebx
call fcn.0041c555
xor edi, edi
lea ecx, [ebp - 0x228]
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
test al, al
je 0x41a31d
push 0x46fbcc
jmp 0x41a390
push 0x475160
jmp 0x41a35a
cmp ecx, dword [ebp - 0x4b4]
jne 0x41a361
mov ecx, ebx
call fcn.0041c555
xor edi, edi
lea ecx, [ebp - 0x228]
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
test al, al
je 0x41a355
push 0x46fbcc
push 0x475830
jmp 0x41a3a3
push 0x475830
push 0x46fbcc
jmp 0x41a3a3
cmp ecx, dword [ebp - 0x4b0]
jne 0x41a3d1
mov ecx, ebx
call fcn.0041c555
xor edi, edi
lea ecx, [ebp - 0x228]
push edi
push edi
push edi
push edi
push edi
push edi
push edi
test al, al
mov eax, 0x46fbcc
push edi
je 0x41a397
push eax
push 0x475830
push eax
push 0x475160
jmp 0x41a3a3
push 0x475830
push eax
push 0x475160
push eax
call fcn.00404ddf
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push edi
mov edi, dword [0x4503a8]
push 0xc2
push dword [ebp - 0x3fc]
call edi
push 0
push 1
jmp 0x41a4c9
cmp ecx, dword [ebp - 0x484]
jne 0x41a3ec
lea eax, [ebp - 0x1a4]
mov ecx, ebx
push eax
call fcn.0041d393
jmp 0x419f61
cmp ecx, dword [ebp - 0x480]
jne 0x41a41d
xor eax, eax
or ecx, 0xffffffff
push eax
push ecx
push ecx
push eax
push ecx
push eax
push eax
push eax
push eax
push eax
mov ecx, esi
call fcn.0040d245
lea eax, [ebp - 0x21c]
mov ecx, ebx
push eax
call fcn.0041cfbf
jmp 0x419f61
cmp ecx, dword [ebp - 0x4d4]
jne 0x41a440
xor eax, eax
or ecx, 0xffffffff
push eax
push ecx
push ecx
push eax
push ecx
push eax
push eax
push eax
push eax
push eax
mov ecx, esi
call fcn.0040d245
jmp 0x41c17c
cmp ecx, dword [ebp - 0x494]
jne 0x41a4db
lea ecx, [ebx + 0xc68]
call fcn.00404d78
mov edi, dword [ebp - 0x3fc]
test eax, eax
jne 0x41a470
push edi
call dword [0x450380]
test eax, eax
je 0x419f61
push 0
push 0x96
push 1
push 0x475b20
mov ecx, esi
call fcn.004123b9
test eax, eax
je 0x419f61
push 0
push 0
push 0xb
push edi
mov edi, dword [0x4503a8]
call edi
push 0
lea ecx, [ebx + 0xc68]
call fcn.00404e5e
push eax
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.00410d52
push 0
push 1
push 0xb
push dword [ebp - 0x3fc]
call edi
push 0
push 0
push 0xb9
push dword [ebp - 0x3fc]
call edi
jmp 0x419f61
cmp ecx, dword [ebp - 0x498]
jne 0x41a4ef
push 0x46f8f4
push 0x475bf0
jmp 0x41a551
cmp ecx, dword [ebp - 0x49c]
jne 0x41a503
push 0x46f8f4
push 0x475c48
jmp 0x41a551
cmp ecx, dword [ebp - 0x4bc]
jne 0x41a517
push 0x46f8f4
push 0x475c88
jmp 0x41a551
cmp ecx, dword [ebp - 0x4a0]
jne 0x41a52b
push 0x46f8f4
push 0x475ce8
jmp 0x41a551
cmp ecx, dword [ebp - 0x4a4]
jne 0x41a53f
push 0x46f8f4
push 0x475d70
jmp 0x41a551
cmp ecx, dword [ebp - 0x4a8]
jne 0x41a55d
push 0x46f8f4
push 0x475db8
mov ecx, ebx
call fcn.004211d8
jmp 0x419f61
cmp ecx, dword [ebp - 0x4ac]
jne 0x41a8d0
push 0
push 0
push 0xe
push dword [ebp - 0x3fc]
call dword [0x4503a8]
lea edi, [eax + 0xa]
mov dword [ebp - 0x3e0], edi
cmp edi, 0xb
jl 0x419f61
push 0
push 0
push edi
lea ecx, [ebp - 0x228]
call fcn.0040516f
xorps xmm0, xmm0
lea ecx, [ebp - 0x3f4]
push edi
mov esi, eax
movlpd qword [ebp - 0x3f4], xmm0
call fcn.0042132c
push 0
push 0
push 0xba
push dword [ebp - 0x3fc]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x40c], eax
call dword [0x4503a8]
mov dword [ebp - 0x408], eax
lea edi, [ebp - 0x338]
xor eax, eax
lea ecx, [ebp - 0x338]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 0xf
lea edi, [ebp - 0x2ac]
xor eax, eax
lea ecx, [ebp - 0x2ac]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 0x10
lea edi, [ebp - 0x2bc]
xor eax, eax
lea ecx, [ebp - 0x2bc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 0x11
lea edi, [ebp - 0x35c]
xor eax, eax
lea ecx, [ebp - 0x35c]
stosd dword es:[edi], eax
push 1
push 0x475e08
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c62
mov byte [ebp - 4], 0x12
and dword [ebp - 0x238], 0
cmp dword [ebp - 0x408], 0
jle 0x41a827
mov edi, dword [ebp - 0x3e0]
mov ebx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x40c]
mov dword [eax], edi
push dword [ebp - 0x3f4]
push ebx
push 0xc4
push dword [ebp - 0x3fc]
call dword [0x4503a8]
cmp eax, 6
jl 0x41a814
mov ecx, dword [ebp - 0x3f4]
xor edx, edx
mov word [ecx + eax*2], dx
lea ecx, [ebp - 0x2ac]
push dword [ebp - 0x3f4]
call fcn.00404cbc
push 3
pop eax
push eax
lea ecx, [ebp - 0x2ac]
call fcn.004062a1
push 0x28
push 4
push 1
push 1
push 0x46feb0
lea ecx, [ebp - 0x2ac]
call fcn.004059c1
mov dword [ebp - 0x238], eax
test eax, eax
jle 0x41a796
push 0
lea ecx, [ebp - 0x2ac]
call fcn.00404d2f
cmp word [eax], 0x3c
jne 0x41a796
push dword [ebp - 0x238]
lea ecx, [ebp - 0x2ac]
push 1
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x2bc]
call fcn.0040651d
push 0x475ee4
lea ecx, [ebp - 0x2bc]
call fcn.00404cec
test al, al
jne 0x41a814
push 0x475f0c
lea ecx, [ebp - 0x2bc]
call fcn.00404cec
test al, al
jne 0x41a814
lea ecx, [ebp - 0x2bc]
call fcn.00404d78
test eax, eax
je 0x41a796
lea ecx, [ebp - 0x2bc]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x338]
call fcn.00404d17
test al, al
je 0x41a796
lea eax, [ebp - 0x2bc]
mov dword [esi], 0xa000d
push eax
lea ecx, [ebp - 0x338]
add esi, 4
call fcn.00404cc5
lea ecx, [ebp - 0x2bc]
call fcn.00404d78
push eax
push 1
push 1
push 0
lea ecx, [ebp - 0x2bc]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x2ac]
call fcn.004059c1
test eax, eax
jne 0x41a7e4
push eax
push 1
push 1
push eax
lea ecx, [ebp - 0x2bc]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x35c]
call fcn.004059c1
test eax, eax
je 0x41a814
lea ecx, [ebp - 0x2ac]
call fcn.00404d78
inc eax
lea ecx, [ebp - 0x2ac]
push eax
push esi
call fcn.00406c8c
lea ecx, [ebp - 0x2ac]
call fcn.00404d78
lea esi, [esi + eax*2]
mov dword [esi], 0xa000d
add esi, 4
inc ebx
cmp ebx, dword [ebp - 0x408]
jl 0x41a670
mov ebx, dword [ebp - 0x404]
mov edi, dword [0x4503a8]
xor eax, eax
mov word [esi], ax
xor esi, esi
push esi
push esi
push 0xb
push dword [ebp - 0x3fc]
call edi
push esi
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push dword [ebx + 0xc48]
lea esi, [ebx + 0x40]
mov ecx, esi
call fcn.00410d52
push 0
push 1
push 0xb
push dword [ebp - 0x3fc]
call edi
push dword [ebp - 0x3fc]
call dword [0x450448]
push 0
push 1
push 0xb9
push dword [ebp - 0x3fc]
call edi
lea ecx, [ebp - 0x35c]
call fcn.00401a4f
lea ecx, [ebp - 0x2bc]
call fcn.00401a4f
lea ecx, [ebp - 0x2ac]
call fcn.00401a4f
lea ecx, [ebp - 0x338]
call fcn.00401a4f
mov byte [ebp - 4], 7
cmp dword [ebp - 0x3f4], 0
je 0x419f61
push dword [ebp - 0x3f4]
jmp 0x41aad6
cmp ecx, dword [ebp - 0x4b8]
jne 0x41aae1
push 0
push 0
push 0xe
push dword [ebp - 0x3fc]
call dword [0x4503a8]
lea edi, [eax + 1]
mov dword [ebp - 0x40c], edi
cmp edi, 0xa
jl 0x419f61
push 0
push 0
push edi
lea ecx, [ebp - 0x228]
call fcn.0040516f
xorps xmm0, xmm0
lea ecx, [ebp - 0x3ec]
push edi
mov esi, eax
movlpd qword [ebp - 0x3ec], xmm0
call fcn.0042132c
push 0
push 0
push 0xba
push dword [ebp - 0x3fc]
mov byte [ebp - 4], 0x13
call dword [0x4503a8]
mov dword [ebp - 0x408], eax
lea edi, [ebp - 0x3d8]
xor eax, eax
lea ecx, [ebp - 0x3d8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 0x14
lea edi, [ebp - 0x2f0]
xor eax, eax
lea ecx, [ebp - 0x2f0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 0x15
and dword [ebp - 0x238], 0
cmp dword [ebp - 0x408], 0
jle 0x41aa48
mov edi, dword [ebp - 0x40c]
mov ebx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x3ec]
mov dword [eax], edi
push dword [ebp - 0x3ec]
push ebx
push 0xc4
push dword [ebp - 0x3fc]
call dword [0x4503a8]
cmp eax, 0x28
jl 0x41aa35
mov ecx, dword [ebp - 0x3ec]
xor edx, edx
mov word [ecx + eax*2], dx
lea ecx, [ebp - 0x2f0]
push dword [ebp - 0x3ec]
call fcn.00404cbc
push 0
push 1
push 1
push 0
push 0x475f20
lea ecx, [ebp - 0x2f0]
call fcn.004059c1
test eax, eax
je 0x41aa35
lea ecx, [ebp - 0x2f0]
call fcn.00404d78
inc eax
lea ecx, [ebp - 0x2f0]
push eax
push esi
call fcn.00406c8c
lea ecx, [ebp - 0x2f0]
call fcn.00404d78
lea esi, [esi + eax*2]
mov eax, dword [0x46fbcc]
mov dword [esi], eax
mov ax, word [0x46fbd0]
mov word [esi + 4], ax
add esi, 4
inc ebx
cmp ebx, dword [ebp - 0x408]
jl 0x41a99c
mov ebx, dword [ebp - 0x404]
mov edi, dword [0x4503a8]
xor eax, eax
mov word [esi], ax
xor esi, esi
push esi
push esi
push 0xb
push dword [ebp - 0x3fc]
call edi
push esi
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push dword [ebx + 0xc48]
lea esi, [ebx + 0x40]
mov ecx, esi
call fcn.00410d52
push 0
push 1
push 0xb
push dword [ebp - 0x3fc]
call edi
push dword [ebp - 0x3fc]
call dword [0x450448]
push 0
push 1
push 0xb9
push dword [ebp - 0x3fc]
call edi
lea ecx, [ebp - 0x2f0]
call fcn.00401a4f
lea ecx, [ebp - 0x3d8]
call fcn.00401a4f
mov byte [ebp - 4], 7
cmp dword [ebp - 0x3ec], 0
je 0x419f61
push dword [ebp - 0x3ec]
call fcn.0043aeb4
pop ecx
jmp 0x419f61
cmp ecx, dword [ebp - 0x47c]
jne 0x41ad1d
xor eax, eax
lea edi, [ebp - 0x27c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], eax
push 0x32
lea eax, [ebp - 0x27c]
mov byte [ebp - 4], 0x16
push eax
mov ecx, ebx
call fcn.00421013
mov dword [ebp - 0x408], eax
test eax, eax
jne 0x41ab3e
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 7
call fcn.004216cf
jmp 0x419f61
xor eax, eax
lea edi, [ebp - 0x2e4]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x2e4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
xor esi, esi
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x408], esi
jbe 0x41ac16
xor edi, edi
cmp dword [ebp - 0x27c], esi
ja 0x41ab79
lea eax, [esi + 1]
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0x274]
push 8
push 0
push 0x475f48
lea ecx, [edi + ecx]
push 0x475f58
call fcn.00406759
test eax, eax
jne 0x41abca
cmp dword [ebp - 0x27c], esi
ja 0x41abaa
lea eax, [esi + 1]
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0x274]
push 8
push 0
push 0x46fbe0
lea ecx, [edi + ecx]
push 0x475fd0
call fcn.00406759
test eax, eax
je 0x41ac06
cmp dword [ebp - 0x27c], esi
ja 0x41abdb
lea eax, [esi + 1]
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0x274]
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
lea ecx, [edi + ecx]
push 0x46fbfc
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x2e4]
call fcn.00405c5c
inc esi
add edi, 0xc
cmp esi, dword [ebp - 0x408]
jb 0x41ab68
lea ecx, [ebp - 0x2e4]
call fcn.00404d78
lea ecx, [ebp - 0x2e4]
test eax, eax
jne 0x41ac44
call fcn.00401a4f
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 7
call fcn.004216cf
jmp 0x419f5e
push 1
call fcn.004058ea
lea ecx, [ebp - 0x2d8]
call fcn.00404e5e
push eax
call dword [0x450350]
test eax, eax
je 0x41ac94
lea ecx, [ebp - 0x2d8]
call fcn.00404e5e
mov ecx, eax
call fcn.00404b83
push 0x46ff98
push 0xb
push dword [ebp - 0x478]
lea ecx, [ebx + 0x40]
mov esi, eax
mov edi, edx
call fcn.00412b1a
cmp esi, eax
jne 0x41ac94
test edi, edi
je 0x41acb9
lea ecx, [ebp - 0x2d8]
call fcn.00404e5e
push eax
push 0x46ff98
push 0xb
push dword [ebp - 0x478]
lea esi, [ebx + 0x40]
mov ecx, esi
call fcn.00412a83
jmp 0x41acbc
lea esi, [ebx + 0x40]
and dword [ebp - 0x2cc], 0
lea ecx, [ebp - 0x2d8]
push 0
push 0x6400
push 0
call fcn.00404e5e
push eax
push 0x476008
lea ecx, [ebp - 0x2e4]
call fcn.00404e5e
mov edx, 0x46fbfc
mov ecx, eax
call fcn.00417b91
push 0xffffffffffffffff
test eax, eax
pop ecx
cmove eax, ecx
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 0x2cc], eax
call fcn.00401020
lea ecx, [ebp - 0x2e4]
call fcn.00401a4f
jmp 0x41ab2a
cmp ecx, dword [ebp - 0x474]
jne 0x41aedb
xor eax, eax
lea edi, [ebp - 0x258]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
push 0x1e
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0x18
push eax
mov ecx, ebx
call fcn.00421013
mov dword [ebp - 0x408], eax
test eax, eax
jne 0x41ad71
lea ecx, [ebp - 0x258]
jmp 0x41ab30
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x384]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x384]
call fcn.004068d3
xor esi, esi
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x408], esi
jbe 0x41aec5
push 2
xor edi, edi
pop ebx
cmp dword [ebp - 0x258], esi
ja 0x41adb1
lea eax, [esi + 1]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x250]
push 1
push 0x476134
lea ecx, [edi + ecx]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x384]
call fcn.00406a13
lea ecx, [ebp - 0x384]
call fcn.00401a9d
cmp eax, ebx
jb 0x41aeaf
cmp dword [ebp - 0x258], esi
ja 0x41adf6
lea eax, [esi + 1]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x250]
push 0
push 8
push 0x476090
lea ecx, [edi + ecx]
call fcn.004066c1
test al, al
je 0x41ae15
push 1
jmp 0x41ae48
cmp dword [ebp - 0x258], esi
ja 0x41ae26
lea eax, [esi + 1]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x250]
push 0x1e
push 3
pop eax
push eax
push 1
push 0
lea ecx, [edi + ecx]
push 0x47613c
call fcn.004059c1
test eax, eax
je 0x41ae55
push ebx
lea ecx, [ebp - 0x384]
call fcn.004069af
jmp 0x41aea5
cmp dword [ebp - 0x258], esi
ja 0x41ae66
lea eax, [esi + 1]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x250]
push 8
push 0
push 0x46fbe0
lea ecx, [edi + ecx]
push 0x476158
call fcn.00406759
test eax, eax
je 0x41aeaf
cmp dword [ebp - 0x258], esi
ja 0x41ae97
lea eax, [esi + 1]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x250]
lea ecx, [edi + ecx]
call fcn.00404e5e
push 0x14
pop edx
mov ecx, eax
call fcn.00413bbc
inc esi
add edi, 0xc
cmp esi, dword [ebp - 0x408]
jb 0x41ada0
mov ebx, dword [ebp - 0x404]
lea ecx, [ebp - 0x384]
call fcn.00406953
lea ecx, [ebp - 0x258]
jmp 0x41ac36
cmp ecx, dword [ebp - 0x470]
jne 0x41b087
push 0
lea eax, [ebp - 0x1f4]
mov ecx, ebx
push eax
call fcn.0041d7a0
xor eax, eax
lea edi, [ebp - 0x2c8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2c4], eax
push 0x1e
lea eax, [ebp - 0x2c8]
mov byte [ebp - 4], 0x1a
push eax
mov ecx, ebx
call fcn.00421013
mov dword [ebp - 0x238], eax
test eax, eax
jne 0x41af3f
lea ecx, [ebp - 0x2c8]
jmp 0x41ab30
xor esi, esi
test eax, eax
lea eax, [ebx + 0x9e0]
je 0x41afa4
mov dword [ebp - 0x40c], eax
xor edi, edi
mov ebx, eax
cmp dword [ebp - 0x2c8], esi
ja 0x41af66
lea eax, [esi + 1]
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x2c0]
or eax, 0xffffffff
push 0
push dword [ebp - 0x1f4]
push eax
push eax
push eax
lea ecx, [edi + ecx]
push 0
call fcn.00404e5e
push eax
mov ecx, ebx
call fcn.00411b59
inc esi
add edi, 0xc
cmp esi, dword [ebp - 0x238]
jb 0x41af55
mov ebx, dword [ebp - 0x404]
lea eax, [ebx + 0x9e0]
xor esi, esi
mov ecx, eax
push esi
push esi
push 0x1004
push dword [ebp - 0x1f4]
call fcn.0040bfda
push eax
call dword [0x4503a8]
push eax
lea ecx, [ebp - 0x228]
call fcn.00405638
push esi
push esi
push esi
push esi
push esi
xor eax, eax
lea edi, [ebp - 0x320]
push esi
stosd dword es:[edi], eax
lea ecx, [ebp - 0x228]
push esi
push esi
push esi
stosd dword es:[edi], eax
push 0x476194
stosd dword es:[edi], eax
call fcn.00404e5e
push eax
push 0x4761b0
lea ecx, [ebp - 0x320]
call fcn.00404c8f
push esi
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x1b
call fcn.00404e5e
mov edi, dword [ebp - 0x418]
lea esi, [ebx + 0x40]
push eax
push edi
mov ecx, esi
call fcn.00410d52
xor eax, eax
lea ecx, [ebp - 0x228]
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x4761dc
call fcn.00404e5e
push eax
push 0x4761fc
lea ecx, [ebp - 0x320]
call fcn.00404ddf
push 0
lea ecx, [ebp - 0x320]
call fcn.00404e5e
push eax
push dword [ebp - 0x414]
mov ecx, esi
call fcn.00410d52
push dword [ebp - 0x3fc]
call dword [0x450448]
lea ecx, [ebp - 0x320]
call fcn.00401a4f
jmp 0x41af34
mov edi, dword [ebp - 0x418]
cmp ecx, edi
jne 0x41b0a6
push 5
lea eax, [ebp - 0x1f4]
mov ecx, ebx
push eax
call fcn.0041d7a0
jmp 0x419f61
cmp ecx, dword [ebp - 0x414]
jne 0x41b1b4
xor edi, edi
lea eax, [ebp - 0x1f4]
push edi
push eax
mov ecx, ebx
call fcn.0041d7a0
push edi
push edi
lea eax, [ebx + 0x9e0]
push 0x1004
push dword [ebp - 0x1f4]
mov ecx, eax
mov dword [ebp - 0x40c], eax
call fcn.0040bfda
push eax
call dword [0x4503a8]
mov edi, eax
test edi, edi
je 0x419f61
mov ecx, ebx
call fcn.0041c555
xor esi, esi
mov byte [ebp - 0x3fd], al
test edi, edi
jle 0x41b192
mov ebx, dword [ebp - 0x40c]
push 0
push esi
push dword [ebp - 0x1f4]
mov ecx, ebx
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404e29
lea ecx, [ebp - 0x228]
call fcn.00405041
test al, al
jne 0x41b187
xor eax, eax
lea ecx, [ebp - 0x228]
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x46fbcc
cmp byte [ebp - 0x3fd], al
je 0x41b163
call fcn.00405c5c
jmp 0x41b168
call fcn.00405ec5
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push 0
push 0xc2
push dword [ebp - 0x3fc]
call dword [0x4503a8]
inc esi
cmp esi, edi
jl 0x41b111
mov ebx, dword [ebp - 0x404]
mov edi, dword [ebp - 0x3fc]
push 0
push 1
push 0xb9
push edi
call dword [0x4503a8]
push edi
call dword [0x450448]
jmp 0x419f5e
cmp ecx, dword [ebp - 0x434]
jne 0x41b1fa
push 0
lea eax, [ebp - 0x1f4]
mov ecx, ebx
push eax
call fcn.0041d7a0
push 0
push 0
push 0x1009
push dword [ebp - 0x1f4]
lea ecx, [ebx + 0x9e0]
call fcn.0040bfda
push eax
call dword [0x4503a8]
push 0
push 0x474ca8
push edi
jmp 0x41c307
cmp ecx, dword [ebp - 0x468]
jne 0x41b276
push 1
lea eax, [ebp - 0x228]
mov ecx, ebx
push eax
call fcn.00420aa3
test al, al
je 0x419f61
push 8
push 0
push 0x476230
push 0x476248
lea ecx, [ebp - 0x228]
call fcn.00406759
lea ecx, [ebp - 0x228]
call fcn.00404e5e
mov edi, dword [0x4503a8]
push eax
push 0
push 0xc2
push dword [ebp - 0x3fc]
call edi
push 0
push 1
push 0xb9
push dword [ebp - 0x3fc]
call edi
push dword [ebp - 0x3fc]
call dword [0x450448]
jmp 0x419f61
cmp ecx, dword [ebp - 0x464]
jne 0x41b285
mov ecx, 0x476288
jmp 0x41b2dd
cmp ecx, dword [ebp - 0x460]
jne 0x41b294
mov ecx, 0x4762f0
jmp 0x41b2dd
cmp ecx, dword [ebp - 0x4d0]
jne 0x41b2a3
mov ecx, 0x476338
jmp 0x41b2dd
cmp ecx, dword [ebp - 0x45c]
jne 0x41b2b2
mov ecx, 0x4763a0
jmp 0x41b2dd
cmp ecx, dword [ebp - 0x4cc]
jne 0x41b2c1
mov ecx, 0x476420
jmp 0x41b2dd
cmp ecx, dword [ebp - 0x4c8]
jne 0x41b2d0
mov ecx, 0x4764a8
jmp 0x41b2dd
cmp ecx, dword [ebp - 0x4c0]
jne 0x41b2ed
mov ecx, 0x476540
mov edx, dword [ebp - 0x234]
call fcn.00413ae2
jmp 0x419f61
cmp ecx, dword [ebp - 0x458]
jne 0x419f61
push 0
lea eax, [ebp - 0x12c]
mov ecx, ebx
push eax
call fcn.0041da35
mov eax, dword [ebp - 0x230]
mov ecx, ebx
push dword [ebp - 0x12c]
movd xmm0, eax
cvtdq2pd xmm2, xmm0
shr eax, 0x1f
addsd xmm2, qword [eax*8 + 0x49a900]
call fcn.00420bcf
jmp 0x419f61
cmp ecx, eax
jne 0x41b37e
push 0
push 1
or eax, 0xffffffff
lea edi, [ebx + 0xc5c]
push eax
push 1
push 0x46f940
mov ecx, edi
call fcn.004059c1
cmp eax, 1
jle 0x41b363
dec eax
mov ecx, edi
push eax
call fcn.004058b9
xor eax, eax
mov ecx, edi
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x4750a4
call fcn.00405c5c
mov ecx, dword [ebx]
mov edx, dword [ebp - 0x41c]
xor eax, eax
cmp ecx, edx
push 2
pop ecx
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.004206fc
cmp eax, 1
jne 0x419f61
push 0
push 0
push 0xb9
push dword [ebp - 0x3fc]
call dword [0x4503a8]
jmp 0x419f61
mov dl, 1
mov ecx, ebx
call fcn.0040b331
test eax, eax
jne 0x41b3b9
push 0
push 0
push 0xb8
push dword [ebp - 0x3fc]
call dword [0x4503a8]
test eax, eax
je 0x419f7a
push 1
mov ecx, ebx
call fcn.004206fc
or ecx, 0xffffffff
cmp eax, ecx
jne 0x419f7a
jmp 0x419f61
lea edi, [ebx + 0x510]
mov dword [ebp - 0x40c], edi
cmp eax, edi
jne 0x41b9ef
mov eax, dword [ebx]
cmp eax, 0xffffffe5
je 0x41b41b
test eax, eax
jle 0x41b433
xor eax, eax
or ecx, 0xffffffff
push eax
push ecx
push ecx
push eax
push ecx
push eax
push eax
push eax
push eax
push eax
mov ecx, esi
call fcn.0040d245
mov eax, dword [ebx]
cmp eax, 0xfffffffa
je 0x41b9df
cmp eax, 0xfffffff9
je 0x41b9df
cmp eax, dword [ebp - 0xec]
je 0x41b91c
cmp eax, dword [ebp - 0x128]
je 0x41b914
cmp eax, dword [ebp - 0x124]
je 0x41b914
cmp eax, dword [ebp - 0x120]
je 0x41b914
cmp eax, dword [ebp - 0x11c]
je 0x41b914
cmp eax, dword [ebp - 0x118]
je 0x41b914
cmp eax, dword [ebp - 0x114]
je 0x41b914
cmp eax, dword [ebp - 0x110]
je 0x41b914
cmp eax, dword [ebp - 0x10c]
je 0x41b914
cmp eax, dword [ebp - 0x108]
je 0x41b914
cmp eax, dword [ebp - 0x104]
je 0x41b914
cmp eax, dword [ebp - 0x100]
je 0x41b914
cmp eax, dword [ebp - 0xfc]
je 0x41b914
cmp eax, dword [ebp - 0xf8]
je 0x41b914
mov ecx, dword [ebp - 0x12c]
cmp eax, 0xffffffd1
je 0x41b502
cmp eax, 0xffffffd0
je 0x41b502
cmp eax, 0xffffffd3
jne 0x41b566
cmp dword [ebx + 0xc], ecx
jne 0x41b566
mov esi, dword [ebx + 0x10]
push 0
push esi
push ecx
mov ecx, edi
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404e29
mov ecx, eax
call fcn.00404d78
test eax, eax
jne 0x419f5e
and dword [ebp - 0x39c], eax
mov ecx, edi
lea eax, [ebp - 0x3a8]
mov dword [ebp - 0x398], 0xf000
push eax
push esi
push 0x102b
push dword [ebp - 0x12c]
call fcn.0040bfda
push eax
call dword [0x4503a8]
jmp 0x419f5e
cmp eax, dword [ebp - 0xe8]
jne 0x41b63a
push 0
push 0
push 0x1004
push ecx
mov ecx, edi
call fcn.0040bfda
push eax
call dword [0x4503a8]
push 4
push dword [ebp - 0xe8]
mov ecx, edi
mov dword [ebp - 0x408], eax
call fcn.00411507
push dword [ebp - 0x12c]
test eax, eax
mov ecx, edi
setne byte [ebp - 0x3fd]
call fcn.0040bfda
xor esi, esi
mov dword [ebp - 0x40c], eax
cmp dword [ebp - 0x408], esi
jle 0x419f5e
mov ebx, dword [ebp - 0x408]
push 0
push esi
push dword [ebp - 0x12c]
mov ecx, edi
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404e29
mov ecx, eax
call fcn.00404d78
test eax, eax
je 0x41b62a
movzx eax, byte [ebp - 0x3fd]
inc eax
mov dword [ebp - 0x398], 0xf000
shl eax, 0xc
mov dword [ebp - 0x39c], eax
lea eax, [ebp - 0x3a8]
push eax
push esi
push 0x102b
push dword [ebp - 0x40c]
call dword [0x4503a8]
inc esi
cmp esi, ebx
jl 0x41b5cf
mov ebx, dword [ebp - 0x404]
jmp 0x419f5e
cmp eax, dword [ebp - 0xe0]
je 0x41b65c
cmp eax, dword [ebp - 0xdc]
je 0x41b65c
cmp eax, 0xfffffff2
jne 0x419f61
cmp dword [ebx + 0xc], ecx
jne 0x419f61
xorps xmm0, xmm0
movlpd qword [ebp - 0x3e4], xmm0
and dword [ebp - 0x3e4], 0
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, edi
cmp eax, dword [ebp - 0xe0]
jne 0x41b684
call fcn.00411d5c
jmp 0x41b689
call fcn.00411fe3
mov esi, eax
or eax, 0xffffffff
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3e4], esi
test esi, esi
je 0x41b906
cmp dword [esi], 1
jl 0x41b906
xor eax, eax
lea edi, [ebp - 0x314]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x314]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 0x1d
lea edi, [ebp - 0x2a0]
xor eax, eax
lea ecx, [ebp - 0x2a0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00404c54
mov byte [ebp - 4], 0x1e
mov ecx, ebx
and dword [ebp - 0x248], 0
and dword [ebp - 0x3f8], 0
call fcn.0041c555
push 4
push dword [ebp - 0xe4]
lea ecx, [ebx + 0x510]
mov byte [ebp - 0x3fd], al
call fcn.00411507
xor edi, edi
mov dword [ebp - 0x238], eax
inc edi
cmp dword [esi], edi
jl 0x41b83b
mov ebx, dword [ebp - 0x40c]
push 0
push dword [esi + edi*4]
mov ecx, ebx
push dword [ebp - 0x12c]
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404e29
lea ecx, [ebp - 0x228]
call fcn.00405041
test al, al
jne 0x41b82c
push dword [esi + edi*4]
mov ecx, ebx
push dword [ebp - 0x12c]
call fcn.00411e59
cmp dword [ebp - 0x238], 0
mov dword [ebp - 0x454], eax
je 0x41b7ae
push 3
pop eax
push eax
push dword [esi + edi*4]
mov ecx, ebx
push dword [ebp - 0x12c]
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00404e29
cmp dword [ebp - 0x454], 0x13
jne 0x41b7b9
push 2
pop eax
push eax
lea ecx, [ebp - 0x228]
call fcn.004058ea
jmp 0x41b7b9
lea ecx, [ebp - 0x2a0]
call fcn.00404d38
xor eax, eax
lea ecx, [ebp - 0x2a0]
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
cmp byte [ebp - 0x3fd], al
je 0x41b7eb
push 0x46fbcc
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
jmp 0x41b802
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push 0x46fbcc
lea ecx, [ebp - 0x314]
call fcn.00404ddf
lea ecx, [ebp - 0x314]
call fcn.00404e5e
push eax
push 0
push 0xc2
push dword [ebp - 0x3fc]
call dword [0x4503a8]
inc edi
cmp edi, dword [esi]
jle 0x41b724
mov ebx, dword [ebp - 0x404]
mov edi, dword [0x4503a8]
push 0
push 1
push 0xb9
push dword [ebp - 0x3fc]
call edi
lea eax, [ebp - 0x3f8]
push eax
lea eax, [ebp - 0x248]
push eax
push 0xb0
push dword [ebp - 0x3fc]
call edi
xor ecx, ecx
cmp dword [ebp - 0x454], 0x12
push 2
sete cl
xor eax, eax
cmp byte [ebp - 0x3fd], al
pop edx
cmovne eax, edx
add ecx, eax
mov eax, dword [ebp - 0x248]
sub eax, ecx
push eax
push eax
push 0xb1
push dword [ebp - 0x3fc]
mov dword [ebp - 0x248], eax
call edi
push 0x80
push dword [ebx + 0xc48]
lea ecx, [ebx + 0x40]
call fcn.0041083d
mov eax, dword [ebp - 0x230]
mov ecx, ebx
push dword [ebp - 0x12c]
movd xmm0, eax
cvtdq2pd xmm2, xmm0
shr eax, 0x1f
addsd xmm2, qword [eax*8 + 0x49a900]
call fcn.00420bcf
lea ecx, [ebp - 0x2a0]
call fcn.00401a4f
lea ecx, [ebp - 0x314]
call fcn.00401a4f
mov byte [ebp - 4], 7
push esi
call fcn.0043aeb4
pop ecx
jmp 0x419f5e
mov byte [ebp - 4], 7
test esi, esi
je 0x419f5e
jmp 0x41b8fa
cmp eax, dword [ebp - 0xec]
jne 0x41b950
push 0xc
push dword [ebp - 0xec]
mov ecx, edi
call fcn.00411507
xor esi, esi
mov ebx, eax
inc esi
mov ecx, dword [ebp + esi*4 - 0x12c]
test ecx, ecx
jle 0x41b944
push ebx
push ecx
mov ecx, edi
call fcn.0041083d
inc esi
cmp esi, 0x10
jl 0x41b930
mov ebx, dword [ebp - 0x404]
push 0x60
pop esi
push esi
lea eax, [ebp - 0x3cc]
push 0
push eax
call fcn.0043ce60
mov dword [ebp - 0x3cc], esi
add esp, 0xc
xor esi, esi
mov dword [ebp - 0x3c8], 4
mov dword [ebp - 0x3b0], 1
inc esi
cmp dword [ebp + esi*4 - 0x12c], 1
jl 0x41b9d4
push 4
push dword [ebp + esi*4 - 0x12c]
mov ecx, edi
call fcn.00411507
test eax, eax
je 0x41b9a9
and dword [ebp - 0x3ac], 0xfffffffe
jmp 0x41b9b0
or dword [ebp - 0x3ac], 1
lea eax, [ebp - 0x3cc]
mov ecx, edi
push eax
lea eax, [esi + 7]
push eax
push 0x1093
push dword [ebp - 0x12c]
call fcn.0040bfda
push eax
call dword [0x4503a8]
inc esi
cmp esi, 0x10
jl 0x41b982
jmp 0x419f5e
push 1
push 0
mov ecx, edi
call fcn.0040d16c
jmp 0x41c12a
add ebx, 0x2a8
cmp eax, ebx
jne 0x41c13e
mov edi, dword [ebp - 0x404]
cmp dword [edi], 0xffffffe5
je 0x41ba71
cmp dword [edi], 0
jg 0x41ba71
cmp dword [edi], 0xffffffe7
jne 0x41ba87
lea eax, [ebp - 0x28c]
mov ecx, ebx
push eax
push dword [ebp - 0x1a4]
call fcn.00411467
cmp dword [ebp - 0x284], 0x14a
mov ecx, ebx
push dword [ebp - 0x1a4]
jge 0x41ba5c
mov eax, 0x200
push eax
push eax
call fcn.0040d10f
push 0
push 0x4765e0
push dword [ebp - 0x1a4]
mov ecx, ebx
call fcn.00410d52
jmp 0x41ba87
push 0x200
push 0
call fcn.0040d10f
push 0
push 0x476630
jmp 0x41ba4d
xor eax, eax
or ecx, 0xffffffff
push eax
push ecx
push ecx
push eax
push ecx
push eax
push eax
push eax
push eax
push eax
mov ecx, esi
call fcn.0040d245
push 2
pop eax
push eax
or eax, 0xffffffff
mov ecx, ebx
push eax
push 0x100c
push dword [ebp - 0x19c]
call fcn.0040bfda
push eax
call dword [0x4503a8]
mov esi, eax
cmp esi, dword [ebp - 0x244]
je 0x41bc4b
mov dword [ebp - 0x244], esi
test esi, esi
js 0x41bade
push 0
push 1
push esi
push dword [ebp - 0x19c]
mov ecx, ebx
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404da4
or eax, 0xffffffff
cmp esi, eax
je 0x41bc93
lea ecx, [ebp - 0x228]
call fcn.00405041
test al, al
jne 0x41bc93
cmp esi, dword [ebp - 0x16c]
jne 0x41bb5d
push 0
push 0x46f8f4
push dword [ebp - 0x188]
mov ecx, ebx
call fcn.00410d52
push 0x20
pop eax
push eax
push dword [ebp - 0x194]
mov ecx, ebx
call fcn.0041083d
push 0x20
pop eax
push eax
push dword [ebp - 0x190]
mov ecx, ebx
call fcn.0041083d
push 0x40
push dword [ebp - 0x188]
mov ecx, ebx
call fcn.0041083d
push 0x40
push dword [ebp - 0x184]
mov ecx, ebx
call fcn.0041083d
jmp 0x41bcca
push 4
pop edi
push 9
pop eax
cmp edi, 6
je 0x41bb7d
push 0x20
pop eax
push eax
push dword [ebp + edi*4 - 0x1a4]
mov ecx, ebx
call fcn.0041083d
push 9
pop eax
inc edi
cmp edi, eax
jl 0x41bb63
push esi
push dword [ebp - 0x19c]
mov ecx, ebx
call fcn.00411e59
mov edi, dword [ebp - 0x404]
cmp eax, 1
jne 0x41bbed
cmp esi, dword [ebp - 0x174]
jge 0x41bbc2
push 0
push 0x4766f0
push dword [ebp - 0x188]
mov ecx, ebx
call fcn.00410d52
push 2
pop eax
push eax
push 0x4766f0
jmp 0x41bc3e
cmp esi, dword [ebp - 0x16c]
jge 0x41bc8a
push 0
push 0x47670c
push dword [ebp - 0x188]
mov ecx, ebx
call fcn.00410d52
push 2
pop eax
push eax
push 0x47673c
jmp 0x41bc3e
push 2
pop ecx
cmp eax, ecx
jne 0x41bc8a
cmp esi, dword [ebp - 0x158]
jge 0x41bc1f
push 0
push 0x476758
push dword [ebp - 0x188]
mov ecx, ebx
call fcn.00410d52
push 2
pop eax
push eax
push 0x4767fc
jmp 0x41bc3e
jne 0x41bc8a
push 0
push 0x476818
push dword [ebp - 0x188]
mov ecx, ebx
call fcn.00410d52
push 2
pop eax
push eax
push 0x47687c
push dword [ebp - 0x188]
mov ecx, ebx
call fcn.00410d52
mov eax, dword [edi]
cmp eax, 0xfffffffa
je 0x41c116
cmp eax, 0xfffffff9
je 0x41c116
cmp eax, dword [ebp - 0x1a0]
jne 0x41bcd7
mov ebx, dword [ebp - 0x404]
lea eax, [ebp - 0x1a4]
push eax
mov ecx, ebx
call fcn.0041c62d
mov dword [ebp - 0x244], 0xfffffffe
jmp 0x419f5e
push 0
push 0x46f8f4
jmp 0x41bc3e
push 0
push 0x46f8f4
push dword [ebp - 0x188]
mov ecx, ebx
call fcn.00410d52
push 4
pop esi
push 9
pop eax
cmp esi, 6
je 0x41bcc5
push 0x40
push dword [ebp + esi*4 - 0x1a4]
mov ecx, ebx
call fcn.0041083d
push 9
pop eax
inc esi
cmp esi, eax
jl 0x41bcad
mov ebx, edi
mov esi, dword [ebp - 0x410]
jmp 0x419f61
cmp eax, dword [ebp - 0x194]
jne 0x41bd3a
test esi, esi
js 0x41bd3a
push 0
push 1
push esi
push dword [ebp - 0x19c]
mov ecx, ebx
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404da4
push 0xd
lea ecx, [ebp - 0x228]
call fcn.00404d78
lea ecx, [ebp - 0x228]
lea eax, [eax*2 + 2]
push eax
call fcn.00404e5e
push 0
mov ecx, ebx
mov esi, eax
call fcn.0040bfda
mov edx, esi
mov ecx, eax
call fcn.0040a0c1
jmp 0x41c10b
mov ecx, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x190]
je 0x41bd52
cmp eax, 0xfffffff2
jne 0x41bda2
cmp dword [edi + 0xc], ecx
jne 0x41bda2
test esi, esi
js 0x41bda2
push 0
push 1
push esi
push ecx
mov ecx, ebx
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404da4
lea ecx, [ebp - 0x228]
call fcn.00404e5e
mov esi, dword [ebp - 0x3fc]
mov ebx, dword [0x4503a8]
push eax
push 0
push 0xc2
push esi
call ebx
push 0
push 1
push 0xb9
push esi
call ebx
jmp 0x41c10b
cmp eax, dword [ebp - 0x184]
jne 0x41c10b
test esi, esi
js 0x41c10b
push 0
push 1
push esi
push ecx
mov ecx, ebx
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404da4
xor eax, eax
lea edi, [ebp - 0x264]
stosd dword es:[edi], eax
push 0
push ecx
push dword [ebp - 0x188]
stosd dword es:[edi], eax
mov ecx, ebx
stosd dword es:[edi], eax
call fcn.00411717
pop ecx
push eax
lea ecx, [ebp - 0x264]
call fcn.00404c62
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x1f
call fcn.00405041
test al, al
jne 0x41c0fc
lea ecx, [ebp - 0x228]
call fcn.00405041
test al, al
jne 0x41c0fc
push 0x4766f0
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
je 0x41be82
cmp esi, dword [ebp - 0x178]
jne 0x41be5c
xor esi, esi
lea ecx, [ebp - 0x228]
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x46fca8
call fcn.00405ec5
jmp 0x41be5e
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x46fbf8
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push 0x4768a0
jmp 0x41bffc
push 0x47673c
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
je 0x41bebc
xor esi, esi
lea ecx, [ebp - 0x228]
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x46fbf8
call fcn.00404e5e
push eax
push 0x4768d8
jmp 0x41bffc
push 0x476900
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
je 0x41bee9
push 1
push 0x476914
lea ecx, [ebp - 0x228]
call fcn.00404da4
xor esi, esi
jmp 0x41c007
push 0x4767fc
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
jne 0x41bfd0
push 0x476950
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
jne 0x41bfd0
push 0x47687c
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
jne 0x41bfd0
push 0x476970
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
jne 0x41bfd0
push 0x476994
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
jne 0x41bfd0
push 0x4769b4
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
je 0x41bf82
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x4769dc
jmp 0x41bfdf
push 0x4769f4
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
je 0x41bfa7
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x476a1c
jmp 0x41bfdf
push 0x476a28
lea ecx, [ebp - 0x264]
call fcn.00404cec
test al, al
je 0x41c0fc
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x476a48
jmp 0x41bfdf
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x46fbf8
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push 0x46fbf4
lea ecx, [ebp - 0x264]
call fcn.00404e5e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404ddf
mov ebx, dword [ebp - 0x404]
mov ecx, ebx
call fcn.0041c555
mov byte [ebp - 0x3fd], al
lea ecx, [ebp - 0x228]
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x46fbcc
test al, al
je 0x41c03b
call fcn.00405c5c
jmp 0x41c040
call fcn.00405ec5
lea ecx, [ebp - 0x228]
call fcn.00404e5e
mov edi, dword [0x4503a8]
push eax
push esi
mov esi, dword [ebp - 0x3fc]
push 0xc2
push esi
call edi
lea eax, [ebp - 0x3dc]
push eax
lea eax, [ebp - 0x294]
push eax
push 0xb0
push esi
call edi
push 2
pop eax
mov ecx, eax
xor eax, eax
cmp byte [ebp - 0x3fd], al
cmovne ecx, eax
or eax, 0xffffffff
sub eax, ecx
mov ecx, dword [ebp - 0x294]
add ecx, eax
push ecx
push ecx
push 0xb1
push esi
mov dword [ebp - 0x294], ecx
call edi
push 0x80
push dword [ebx + 0xc48]
lea esi, [ebx + 0x40]
mov ecx, esi
call fcn.0041083d
mov eax, dword [ebp - 0x230]
mov ecx, ebx
push dword [ebp - 0x12c]
movd xmm0, eax
cvtdq2pd xmm2, xmm0
shr eax, 0x1f
addsd xmm2, qword [eax*8 + 0x49a900]
call fcn.00420bcf
push 0
push 1
push 0xb9
push dword [ebp - 0x3fc]
call edi
lea ecx, [ebp - 0x264]
jmp 0x419cce
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 7
call fcn.00401a4f
mov ebx, dword [ebp - 0x404]
jmp 0x41bccc
push 1
push 0
mov ecx, ebx
call fcn.0040d16c
mov ebx, dword [ebp - 0x404]
lea esi, [ebx + 0x40]
push 0x80
push dword [ebx + 0xc48]
mov ecx, esi
call fcn.0041083d
jmp 0x41c1b5
mov ebx, dword [ebp - 0x404]
lea ecx, [ebx + 0x778]
cmp eax, ecx
jne 0x41c18f
mov eax, dword [ebx]
cmp eax, 0xfffffffa
jne 0x41c170
push 1
push 0
call fcn.0040d16c
mov dl, 1
mov ecx, ebx
call fcn.0040b331
test eax, eax
jne 0x41c15e
jmp 0x419f61
cmp eax, dword [ebp - 0x218]
jne 0x419f61
lea eax, [ebp - 0x21c]
mov ecx, ebx
push eax
call fcn.0041d1ab
jmp 0x419f61
lea edi, [ebx + 0x9e0]
mov dword [ebp - 0x40c], edi
cmp eax, edi
jne 0x419f61
mov eax, dword [ebx]
cmp eax, 0xfffffffa
jne 0x41c1bf
push 1
push 0
mov ecx, edi
call fcn.0040d16c
call fcn.00406b16
jmp 0x419f61
mov ecx, dword [ebp - 0x1f4]
cmp eax, dword [ebp - 0x1f0]
je 0x41c46c
cmp eax, dword [ebp - 0x1ec]
je 0x41c46c
cmp eax, 0xfffffff2
jne 0x41c1eb
cmp dword [ebx + 0xc], ecx
je 0x41c46c
cmp eax, dword [ebp - 0x1e8]
je 0x41c327
cmp eax, dword [ebp - 0x1e4]
je 0x41c327
cmp eax, dword [ebp - 0x1e0]
jne 0x41c2d6
push 0
push 0
push 0x1004
push ecx
mov ecx, edi
call fcn.0040bfda
push eax
call dword [0x4503a8]
mov dword [ebp - 0x408], eax
test eax, eax
je 0x419f61
mov ecx, ebx
call fcn.0041c555
xor esi, esi
mov byte [ebp - 0x3fd], al
cmp dword [ebp - 0x408], esi
jle 0x419f5e
mov ebx, dword [ebp - 0x408]
push 0
push esi
push dword [ebp - 0x1f4]
mov ecx, edi
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404e29
lea ecx, [ebp - 0x228]
call fcn.00405041
test al, al
jne 0x41c2cc
xor eax, eax
lea ecx, [ebp - 0x228]
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x46fbcc
cmp byte [ebp - 0x3fd], al
je 0x41c2a8
call fcn.00405c5c
jmp 0x41c2ad
call fcn.00405ec5
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push 0
push 0xc2
push dword [ebp - 0x3fc]
call dword [0x4503a8]
inc esi
cmp esi, ebx
jl 0x41c256
jmp 0x41b62f
cmp eax, dword [ebp - 0x1dc]
jne 0x419f61
push 0
push 0
push 0x1009
push ecx
mov ecx, edi
call fcn.0040bfda
push eax
call dword [0x4503a8]
push 0
push 0x474ca8
push dword [ebp - 0x418]
mov ecx, esi
call fcn.00410d52
push 0
push 0x474cf0
push dword [ebp - 0x414]
mov ecx, esi
call fcn.00410d52
jmp 0x419f61
xorps xmm0, xmm0
movlpd qword [ebp - 0x23c], xmm0
and dword [ebp - 0x23c], 0
mov byte [ebp - 4], 0x21
push ecx
mov ecx, edi
cmp eax, dword [ebp - 0x1e8]
jne 0x41c34f
call fcn.00411d5c
jmp 0x41c354
call fcn.00411fe3
mov esi, eax
or eax, 0xffffffff
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x23c], esi
mov edi, dword [esi]
cmp edi, 1
jl 0x41b8f6
test edi, edi
jle 0x41c397
mov ebx, dword [ebp - 0x40c]
push 0
push dword [esi + edi*4]
mov ecx, ebx
push dword [ebp - 0x1f4]
call fcn.00411c9f
dec edi
test edi, edi
jg 0x41c37a
mov ebx, dword [ebp - 0x404]
push 0
push 0
push 0x1004
push dword [ebp - 0x1f4]
lea ecx, [ebx + 0x9e0]
call fcn.0040bfda
push eax
call dword [0x4503a8]
push eax
lea ecx, [ebp - 0x228]
call fcn.00405638
xor eax, eax
lea edi, [ebp - 0x308]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x228]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor edi, edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x476194
call fcn.00404e5e
push eax
push 0x4761b0
lea ecx, [ebp - 0x308]
call fcn.00404c8f
push edi
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0x22
call fcn.00404e5e
push eax
push dword [ebp - 0x418]
lea ecx, [ebx + 0x40]
call fcn.00410d52
xor eax, eax
lea ecx, [ebp - 0x228]
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x4761dc
call fcn.00404e5e
push eax
push 0x4761fc
lea ecx, [ebp - 0x308]
call fcn.00404ddf
push edi
lea ecx, [ebp - 0x308]
call fcn.00404e5e
push eax
push dword [ebp - 0x414]
lea ecx, [ebx + 0x40]
call fcn.00410d52
lea ecx, [ebp - 0x308]
jmp 0x41b8f1
xorps xmm0, xmm0
movlpd qword [ebp - 0x23c], xmm0
and dword [ebp - 0x23c], 0
mov byte [ebp - 4], 0x20
push ecx
mov ecx, edi
cmp eax, dword [ebp - 0x1f0]
jne 0x41c494
call fcn.00411d5c
jmp 0x41c499
call fcn.00411fe3
mov esi, eax
or eax, 0xffffffff
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x23c], esi
cmp dword [esi], 1
jl 0x41b8f6
mov ecx, ebx
call fcn.0041c555
mov byte [ebp - 0x3fd], al
xor eax, eax
inc eax
cmp dword [esi], eax
jl 0x41b8f6
mov ebx, eax
push 0
push dword [esi + ebx*4]
mov ecx, edi
push dword [ebp - 0x1f4]
call fcn.00411f0e
push eax
lea ecx, [ebp - 0x228]
call fcn.00404e29
lea ecx, [ebp - 0x228]
call fcn.00405041
test al, al
jne 0x41c545
xor eax, eax
lea ecx, [ebp - 0x228]
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x46fbcc
cmp byte [ebp - 0x3fd], al
je 0x41c521
call fcn.00405c5c
jmp 0x41c526
call fcn.00405ec5
lea ecx, [ebp - 0x228]
call fcn.00404e5e
push eax
push 0
push 0xc2
push dword [ebp - 0x3fc]
call dword [0x4503a8]
inc ebx
cmp ebx, dword [esi]
jle 0x41c4cd
mov ebx, dword [ebp - 0x404]
jmp 0x41b8f6