Function at 0x420584
Capabilities:
Parse pe header

Disassembly:
push ebp
push ebx
push edi
mov edx, 0xa
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x42058c
call fcn.004ae590
mov edx, dword [esp + 0x38]
lea ecx, [esp]
call fcn.00454000
mov edx, 0x5380c4
lea ecx, [0x15e897c]
call fcn.00454008
mov dword [0x15e8a4c], 0
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, dword [esp + 4]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x54111a
push edx
call fcn.004ae4c0
call fcn.00454382
add dword [esp], edx
call fcn.0049a947
call fcn.004543a0
push edx
push eax
pop ebx
pop edi
cmp ebx, 0xfffffffe
jne 0x420609
cmp edi, 0xffffffff
je 0x42060d
xor eax, eax
jmp 0x420612
mov eax, 1
or eax, eax
je 0x42069f
mov edx, dword [esp]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8a10]
push eax
call fcn.004ae430
push dword [0x15e8bc8]
push dword [0x15e8a10]
call fcn.004abfc0
mov ebx, eax
and ebx, ebx
jle 0x420670
mov edx, dword [0x15e8b90]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8b60]
push eax
call fcn.004ae430
jmp 0x420690
mov edx, dword [0x15e8a10]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8b60]
push eax
call fcn.004ae430
mov dword [0x15e8abc], 1
jmp 0x4209b0
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, dword [esp + 4]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x5418fa
push edx
call fcn.004ae4c0
call fcn.00454382
add dword [esp], edx
call fcn.0049a947
call fcn.004543a0
push edx
push eax
pop ebx
pop edi
cmp ebx, 0xfffffffe
jne 0x4206e4
cmp edi, 0xffffffff
je 0x4206e8
xor eax, eax
jmp 0x4206ed
mov eax, 1
or eax, eax
je 0x4207a0
mov edx, dword [esp]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x5435d4
push edx
call fcn.004ae4c0
lea eax, [esp + 4]
push eax
call fcn.004ae430
mov edx, dword [esp]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8a10]
push eax
call fcn.004ae430
push dword [0x15e8bc8]
push dword [0x15e8a10]
call fcn.004abfc0
mov ebx, eax
and ebx, ebx
jle 0x420771
mov edx, dword [0x15e8b90]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8b60]
push eax
call fcn.004ae430
jmp 0x420791
mov edx, dword [0x15e8a10]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8b60]
push eax
call fcn.004ae430
mov dword [0x15e8abc], 1
jmp 0x4209b0
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, dword [0x15e8bc8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x54111a
push edx
call fcn.004ae4c0
call fcn.00454382
add dword [esp], edx
call fcn.0049a947
call fcn.004543a0
push edx
push eax
pop ebx
pop edi
cmp ebx, 0xfffffffe
jne 0x4207e7
cmp edi, 0xffffffff
je 0x4207eb
xor eax, eax
jmp 0x4207f0
mov eax, 1
or eax, eax
je 0x42089e
mov edx, dword [0x15e8bc8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [esp + 4]
push eax
call fcn.004ae430
mov edx, dword [0x15e8bc8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8a10]
push eax
call fcn.004ae430
push dword [0x15e8bc8]
push dword [0x15e8a10]
call fcn.004abfc0
mov ebx, eax
and ebx, ebx
jle 0x42086f
mov edx, dword [0x15e8b90]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8b60]
push eax
call fcn.004ae430
jmp 0x42088f
mov edx, dword [0x15e8a10]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8b60]
push eax
call fcn.004ae430
mov dword [0x15e8abc], 1
jmp 0x4209b0
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, dword [0x15e8bc8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x5418fa
push edx
call fcn.004ae4c0
call fcn.00454382
add dword [esp], edx
call fcn.0049a947
call fcn.004543a0
push edx
push eax
pop ebx
pop edi
cmp ebx, 0xfffffffe
jne 0x4208e5
cmp edi, 0xffffffff
je 0x4208e9
xor eax, eax
jmp 0x4208ee
mov eax, 1
or eax, eax
je 0x420976
mov edx, dword [0x15e8bc8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x5435d4
push edx
call fcn.004ae4c0
lea eax, [0x15e8a10]
push eax
call fcn.004ae430
mov edx, dword [0x15e8bc8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x5435d4
push edx
call fcn.004ae4c0
lea eax, [esp + 4]
push eax
call fcn.004ae430
mov dword [0x15e8abc], 1
mov edx, dword [0x15e8b90]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8b60]
push eax
call fcn.004ae430
jmp 0x4209b0
mov edx, dword [0x15e8b90]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8b60]
push eax
call fcn.004ae430
mov dword [0x15e8abc], 0
mov edx, 0x5380c4
lea ecx, [0x15e8a10]
call fcn.00454008
mov ebx, dword [0x15e8abc]
and ebx, ebx
jle 0x420a77
mov edx, dword [0x15e8a5c]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8924]
push eax
call fcn.004ae430
mov dword [esp + 4], 0
jmp 0x4209e8
push dword [0x15e8c88]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x420a28
mov edx, dword [0x15e8c8c]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c88]
mov edx, 0x5397f8
lea ecx, [ebp]
call fcn.00454008
inc dword [esp + 4]
jno 0x4209e8
mov dword [esp + 4], 0
jmp 0x420a32
push dword [0x15e8c7c]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x420a72
mov edx, dword [0x15e8c80]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c7c]
mov edx, 0x5397f8
lea ecx, [ebp]
call fcn.00454008
inc dword [esp + 4]
jno 0x420a32
jmp 0x420b2b
mov edx, dword [0x15e8a5c]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8924]
push eax
call fcn.004ae430
mov dword [esp + 4], 0
jmp 0x420aa1
push dword [0x15e8c88]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x420ae1
mov edx, dword [0x15e8c8c]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c88]
mov edx, 0x5397fc
lea ecx, [ebp]
call fcn.00454008
inc dword [esp + 4]
jno 0x420aa1
mov dword [esp + 4], 0
jmp 0x420aeb
push dword [0x15e8c7c]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x420b2b
mov edx, dword [0x15e8c80]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c7c]
mov edx, 0x5397fc
lea ecx, [ebp]
call fcn.00454008
inc dword [esp + 4]
jno 0x420aeb
mov ebx, dword [0x15e8abc]
and ebx, ebx
jle 0x420c65
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x549dfa
push eax
mov edx, dword [0x15e8a10]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x54111a
push edx
call fcn.004ae4c0
call fcn.004ae520
push 0
call fcn.00454382
add dword [esp + 4], edx
call fcn.0049b002
call fcn.004543a0
and eax, eax
je 0x420c39
push 0
call fcn.0049b161
and eax, eax
je 0x420c2f
push 0
call fcn.0049afde
mov ebx, eax
cmp ebx, 1
jne 0x420c2a
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 0
call fcn.0049af62
call fcn.00454382
add dword [esp], edx
call fcn.00422451
lea eax, [esp + 0xc]
push eax
call fcn.004ae430
push dword [esp + 8]
mov edx, 0x5380c4
pop ecx
call fcn.00454330
jne 0x420c2a
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, 0x538408
push edx
call fcn.004ae4c0
mov edx, dword [esp + 0xc]
push edx
call fcn.004ae4c0
mov edx, 0x53932e
push edx
call fcn.004ae4c0
lea eax, [esp + 0x10]
push eax
call fcn.004ae430
jmp 0x420b8b
push 0
call fcn.0049b12f
mov edx, dword [0x15e8a70]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, dword [esp + 0x10]
push edx
call fcn.004ae4c0
lea eax, [0x15e8b64]
push eax
call fcn.004ae430
jmp 0x420c85
mov edx, dword [0x15e896c]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
lea eax, [0x15e8b64]
push eax
call fcn.004ae430
mov ebx, dword [0x15e8a20]
and ebx, ebx
jne 0x420ca0
mov ebx, dword [0x15e8a24]
and ebx, ebx
jne 0x420ca0
mov eax, 1
jmp 0x420ca2
xor eax, eax
and eax, eax
je 0x420cf3
call fcn.0049d7b4
push 0
call fcn.0049d97e
mov ebx, eax
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
add ebx, 0xfffffebe
mov dword [0x15e8a20], ebx
push 0
call fcn.0049d9a1
mov ebx, eax
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
add ebx, 0xffffff2b
mov dword [0x15e8a24], ebx
push 0
call fcn.00498f1f
and eax, eax
je 0x420d05
xor eax, eax
jmp 0x420d0a
mov eax, 1
and eax, eax
je 0x4211be
push 0x1aa
push 0x284
push dword [0x15e8a24]
push dword [0x15e8a20]
call fcn.00446c02
push dword [0x15e8bb8]
call fcn.004a75c6
push eax
push 1
push 8
call fcn.00490b91
push dword [0x15e88a0]
call fcn.004a75c6
push eax
push 1
push 0xa
call fcn.00490b91
push dword [0x15e8a50]
call fcn.004a75c6
push eax
push 1
push 9
call fcn.00490b91
push dword [0x15e8964]
call fcn.004a75c6
push eax
push 1
push 0xb
call fcn.00490b91
push 0
lea eax, [0x415626]
push eax
call fcn.004999fd
push 0x7d0
push 0x309
push 0
call fcn.00499a63
push 1
push 0x3c
call fcn.00490aa1
push 1
push 0x3d
call fcn.00490aa1
push 0
push 0x41
call fcn.00490aa1
push dword [0x15e8ab0]
mov edx, 0x53be14
pop ecx
call fcn.00454330
je 0x420e5c
mov eax, 0x541552
push eax
push 0x4c
call fcn.00492bac
mov eax, 0x54b084
push eax
push 0x4c
call fcn.00493909
mov eax, 0x5400e0
push eax
push 0xd
call fcn.00493909
mov ebx, dword [0x15e8abc]
and ebx, ebx
jne 0x420e4a
push dword [0x15e8930]
push 0x51
call fcn.00493909
jmp 0x420e5a
push dword [0x15e8b74]
push 0x51
call fcn.00493909
jmp 0x420e6c
mov eax, 0x53c57e
push eax
push 0x4c
call fcn.00493909
push dword [0x15e8894]
push 0xd
call fcn.00492bac
push dword [0x15e89e4]
push 0x35
call fcn.00493909
push dword [0x15e8a5c]
push 0
call fcn.00498ef6
call fcn.0043d66c
push 1
push 0x4f
call fcn.00490adf
push 0x4d
call fcn.00444191
push 0
push 0x4d
call fcn.00490adf
push dword [0x15e887c]
push 0xffffffff
push 0x4e
call fcn.00492ae3
push dword [0x15e8960]
push 0xffffffff
push 0x4e
call fcn.00492ae3
push dword [0x15e88b0]
push 0xffffffff
push 0x4e
call fcn.00492ae3
push 1
push 0x4e
call fcn.00490adf
push 1
mov eax, 0x539f7c
push eax
call fcn.00442ffe
mov eax, 0x548b9a
push eax
push 0xffffffff
push 0x45
call fcn.00492ae3
mov eax, 0x545b1a
push eax
push 0xffffffff
push 0x45
call fcn.00492ae3
mov eax, 0x54bd22
push eax
push 0xffffffff
push 0x45
call fcn.00492ae3
push 0
push 0x45
call fcn.00490adf
push dword [0x15e89b4]
push 0xffffffff
push 0x48
call fcn.00492ae3
push dword [0x15e88dc]
push 0xffffffff
push 0x48
call fcn.00492ae3
push 0
push 0x48
call fcn.00490adf
mov edx, 0x539f7c
lea ecx, [0x15e88c8]
call fcn.00454008
push dword [0x15e89e0]
push 0xffffffff
push 0x3f
call fcn.00492ae3
push 0x3f
call fcn.00444191
push dword [0x15e8974]
push 0xffffffff
push 0x3f
call fcn.00492ae3
push 1
push 0x3f
call fcn.00490adf
call fcn.0044c75c
push 0x47
call fcn.00492a95
mov dword [esp + 4], 0
jmp 0x42101a
push dword [0x15e8c88]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x421062
mov edx, dword [0x15e8c8c]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c88]
push dword [ebp]
push 0xffffffff
push 0x47
call fcn.00492ae3
inc dword [esp + 4]
jno 0x42101a
push 2
push 0
push 0x47
call fcn.00490c66
push 0x5a
call fcn.00492a95
call fcn.00444abc
push 0x260
push 0x2bc
push 0
push 0
call fcn.00411de4
push dword [0x15e8b10]
lea eax, [0x416291]
push eax
call fcn.004999fd
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 0
push 0x4d
call fcn.00493ab6
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 1
push 0x4d
call fcn.00493ab6
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 2
push 0x4d
call fcn.00493ab6
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 3
push 0x4d
call fcn.00493ab6
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 4
push 0x4d
call fcn.00493ab6
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 5
push 0x4d
call fcn.00493ab6
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 6
push 0x4d
call fcn.00493ab6
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 7
push 0x4d
call fcn.00493ab6
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 8
push 0x4d
call fcn.00493ab6
push dword [0x15e8b44]
call fcn.004a75c6
push eax
push 9
push 0x4d
call fcn.00493ab6
call fcn.00498c6b
mov ebx, eax
cmp ebx, 0x6e
jl 0x4211db
push 0
push 0x4c
call fcn.00492ab8
jmp 0x4211ea
push 1
push 0x4c
call fcn.00492ab8
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, dword [0x15e88bc]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x551800
push edx
call fcn.004ae4c0
call fcn.00454382
add dword [esp], edx
call fcn.0049a947
call fcn.004543a0
push edx
push eax
pop ebx
pop edi
cmp ebx, 0x4800
jne 0x421234
cmp edi, 0
je 0x421238
xor eax, eax
jmp 0x42123d
mov eax, 1
or eax, eax
je 0x421261
push 0
push 0x42
call fcn.00490adf
push 1
push 0x36
call fcn.00490adf
jmp 0x421270
push 1
push 0x42
call fcn.00490adf
mov ebx, dword [0x15e8abc]
and ebx, ebx
jle 0x421d92
push 0
push 0x40
push 0
call fcn.004a53ce
push eax
push 1
push 0x59
call fcn.004929fb
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x549dfa
push eax
mov edx, dword [esp + 8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x54111a
push edx
call fcn.004ae4c0
call fcn.004ae520
push 0
call fcn.00454382
add dword [esp + 4], edx
call fcn.0049b002
call fcn.004543a0
and eax, eax
je 0x421989
push 0
call fcn.0049b161
and eax, eax
je 0x42197f
push 0
call fcn.0049afde
mov ebx, eax
cmp ebx, 2
jne 0x42197a
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x540206
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 0
call fcn.0049af62
call fcn.00454382
add dword [esp], edx
call fcn.004abfc0
call fcn.004543a0
mov ebx, eax
and ebx, ebx
jg 0x42139b
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x53e5b8
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 0
call fcn.0049af62
call fcn.00454382
add dword [esp], edx
call fcn.004abfc0
call fcn.004543a0
mov ebx, eax
and ebx, ebx
jg 0x42139b
jmp 0x4213a2
mov eax, 1
jmp 0x4213a4
xor eax, eax
and eax, eax
je 0x42197a
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x540206
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 0
call fcn.0049af62
call fcn.00454382
add dword [esp], edx
call fcn.004abfc0
call fcn.004543a0
mov ebx, eax
and ebx, ebx
jle 0x421494
push 1
push 0x4e
call fcn.00490adf
mov edx, 0x539f7c
lea ecx, [0x15e88c8]
call fcn.00454008
push dword [0x15e8a5c]
push 0
call fcn.00498ef6
push 0x47
call fcn.00492a95
mov dword [esp + 4], 0
jmp 0x421433
push dword [0x15e8c88]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x42147b
mov edx, dword [0x15e8c8c]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c88]
push dword [ebp]
push 0xffffffff
push 0x47
call fcn.00492ae3
inc dword [esp + 4]
jno 0x421433
push 2
push 0
push 0x47
call fcn.00490c66
jmp 0x421533
push 0
push 0x4e
call fcn.00490adf
mov edx, 0x539f4a
lea ecx, [0x15e88c8]
call fcn.00454008
push dword [0x15e8a5c]
push 0
call fcn.00498ef6
push 0x47
call fcn.00492a95
mov dword [esp + 4], 0
jmp 0x4214d7
push dword [0x15e8c7c]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x42151f
mov edx, dword [0x15e8c80]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c7c]
push dword [ebp]
push 0xffffffff
push 0x47
call fcn.00492ae3
inc dword [esp + 4]
jno 0x4214d7
push 2
push 0
push 0x47
call fcn.00490c66
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 0
call fcn.0049af62
lea eax, [esp + 0x14]
push eax
call fcn.004ae430
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, dword [esp + 4]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x542dfc
push edx
call fcn.004ae4c0
mov edx, dword [esp + 0x18]
push edx
call fcn.004ae4c0
mov edx, 0x5444ae
push edx
call fcn.004ae4c0
call fcn.00454382
add dword [esp], edx
call fcn.0049a947
call fcn.004543a0
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jg 0x4215b7
jl 0x4215b3
cmp ebx, 0
ja 0x4215b7
xor eax, eax
jmp 0x4215bc
mov eax, 1
or eax, eax
je 0x421630
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, dword [esp + 4]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x542dfc
push edx
call fcn.004ae4c0
mov edx, dword [esp + 0x18]
push edx
call fcn.004ae4c0
mov edx, 0x540bb0
push edx
call fcn.004ae4c0
call fcn.00454382
add dword [esp], edx
call fcn.0049a947
call fcn.004543a0
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jg 0x421620
jl 0x42161c
cmp ebx, 0
ja 0x421620
xor eax, eax
jmp 0x421625
mov eax, 1
or eax, eax
je 0x421630
mov eax, 1
jmp 0x421632
xor eax, eax
and eax, eax
je 0x421645
mov dword [0x15e8b9c], 0
jmp 0x421739
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, dword [esp + 4]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x542dfc
push edx
call fcn.004ae4c0
mov edx, dword [esp + 0x18]
push edx
call fcn.004ae4c0
mov edx, 0x5444ae
push edx
call fcn.004ae4c0
call fcn.00454382
add dword [esp], edx
call fcn.0049a947
call fcn.004543a0
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jl 0x4216a5
jg 0x4216a1
cmp ebx, 0x64
jb 0x4216a5
xor eax, eax
jmp 0x4216aa
mov eax, 1
or eax, eax
je 0x4216ba
mov dword [0x15e8b9c], 0x56
jmp 0x421739
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, dword [esp + 4]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x542dfc
push edx
call fcn.004ae4c0
mov edx, dword [esp + 0x18]
push edx
call fcn.004ae4c0
mov edx, 0x540bb0
push edx
call fcn.004ae4c0
call fcn.00454382
add dword [esp], edx
call fcn.0049a947
call fcn.004543a0
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jl 0x42171a
jg 0x421716
cmp ebx, 0x64
jb 0x42171a
xor eax, eax
jmp 0x42171f
mov eax, 1
or eax, eax
je 0x42172f
mov dword [0x15e8b9c], 0x40
jmp 0x421739
mov dword [0x15e8b9c], 0
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x549dfa
push eax
mov edx, dword [esp + 8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x542dfc
push edx
call fcn.004ae4c0
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 0
call fcn.0049af62
pop eax
call fcn.004ae520
push 1
call fcn.00454382
add dword [esp + 4], edx
call fcn.0049b002
call fcn.004543a0
and eax, eax
je 0x42197a
push 1
call fcn.0049b161
and eax, eax
je 0x421970
push 1
call fcn.0049afde
mov ebx, eax
cmp ebx, 1
jne 0x42196b
push dword [0x15e88c8]
mov edx, 0x539f7c
pop ecx
call fcn.00454330
je 0x4218a9
mov dword [esp + 4], 0
jmp 0x4217ec
push dword [0x15e8c88]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x4218a4
push edx
call fcn.004ae3f0
pop edx
push eax
push 1
push 1
mov edx, dword [0x15e8c8c]
imul edx, dword [esp + 0x10]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c88]
push dword [ebp]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 1
call fcn.0049af62
call fcn.00454382
add dword [esp], edx
call fcn.004abf20
call fcn.004543a0
mov ebx, eax
and ebx, ebx
jle 0x42189a
mov edx, dword [0x15e8c8c]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c88]
mov edx, 0x5397fc
lea ecx, [ebp]
call fcn.00454008
mov dword [0x15e8a4c], 1
inc dword [esp + 4]
jno 0x4217ec
jmp 0x42196b
mov dword [esp + 4], 0
jmp 0x4218b3
push dword [0x15e8c7c]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x42196b
push edx
call fcn.004ae3f0
pop edx
push eax
push 1
push 1
mov edx, dword [0x15e8c80]
imul edx, dword [esp + 0x10]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c7c]
push dword [ebp]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 1
call fcn.0049af62
call fcn.00454382
add dword [esp], edx
call fcn.004abf20
call fcn.004543a0
mov ebx, eax
and ebx, ebx
jle 0x421961
mov edx, dword [0x15e8c80]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c7c]
mov edx, 0x5397fc
lea ecx, [ebp]
call fcn.00454008
mov dword [0x15e8a4c], 1
inc dword [esp + 4]
jno 0x4218b3
jmp 0x4217a4
push 1
call fcn.0049b12f
jmp 0x4212f2
push 0
call fcn.0049b12f
mov ebx, dword [0x15e8a4c]
and ebx, ebx
jne 0x421c5f
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x549dfa
push eax
mov edx, dword [esp + 8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x54111a
push edx
call fcn.004ae4c0
call fcn.004ae520
push 0
call fcn.00454382
add dword [esp + 4], edx
call fcn.0049b002
call fcn.004543a0
and eax, eax
je 0x421c2a
push 0
call fcn.0049b161
and eax, eax
je 0x421c20
push 0
call fcn.0049afde
mov ebx, eax
cmp ebx, 2
jne 0x421c1b
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x540206
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 0
call fcn.0049af62
call fcn.00454382
add dword [esp], edx
call fcn.004abfc0
call fcn.004543a0
mov ebx, eax
and ebx, ebx
jle 0x421c1b
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x549dfa
push eax
mov edx, dword [esp + 8]
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae4c0
mov edx, 0x542dfc
push edx
call fcn.004ae4c0
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 0
call fcn.0049af62
pop eax
call fcn.004ae520
push 1
call fcn.00454382
add dword [esp + 4], edx
call fcn.0049b002
call fcn.004543a0
and eax, eax
je 0x421c1b
push 1
call fcn.0049b161
and eax, eax
je 0x421c11
push 1
call fcn.0049afde
mov ebx, eax
cmp ebx, 1
jne 0x421c0c
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push 1
call fcn.0049af62
lea eax, [esp + 0x18]
push eax
call fcn.004ae430
push 1
mov eax, 0x54d46a
push eax
push dword [esp + 0x1c]
call fcn.004abf00
mov ebx, eax
and ebx, ebx
jg 0x421b3e
push 1
mov eax, 0x550c0c
push eax
push dword [esp + 0x1c]
call fcn.004abf00
mov ebx, eax
and ebx, ebx
jg 0x421b3e
jmp 0x421b45
mov eax, 1
jmp 0x421b47
xor eax, eax
and eax, eax
je 0x421b50
jmp 0x421c0c
push 1
mov eax, 0x54bee0
push eax
push dword [esp + 0x1c]
call fcn.004abf00
mov ebx, eax
and ebx, ebx
jg 0x421b86
push 1
mov eax, 0x54848c
push eax
push dword [esp + 0x1c]
call fcn.004abf00
mov ebx, eax
and ebx, ebx
jg 0x421b86
jmp 0x421b8d
mov eax, 1
jmp 0x421b8f
xor eax, eax
and eax, eax
je 0x421c0c
push 1
mov eax, 0x53f5ae
push eax
push dword [esp + 0x1c]
call fcn.004abf00
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x18]
and ebx, ebx
jle 0x421bec
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push dword [esp + 0x1c]
call fcn.004ac140
mov ebx, eax
add ebx, 0xfffffff1
push ebx
push 0xc
push dword [esp + 0x24]
call fcn.004ac170
lea eax, [0x15e897c]
push eax
call fcn.004ae430
push 1
call fcn.0049b12f
push 0
call fcn.0049b12f
mov dword [0x15e8a4c], 1
jmp 0x421c2a
jmp 0x421abd
push 1
call fcn.0049b12f
jmp 0x4219e7
push 0
call fcn.0049b12f
mov dword [esp + 0x1c], 0x10
push dword [0x15e897c]
mov edx, 0x5380c4
pop ecx
call fcn.00454330
jne 0x421c5a
push dword [0x15e897c]
push 0xffffffff
push 0x5a
call fcn.00492ae3
jmp 0x421d7e
push 0x5a
call fcn.00492a95
push dword [0x15e88c8]
mov edx, 0x539f7c
pop ecx
call fcn.00454330
je 0x421d00
mov dword [esp + 4], 0
jmp 0x421c8a
push dword [0x15e8c88]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x421cfe
mov edx, dword [0x15e8c8c]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c88]
push dword [ebp]
mov edx, 0x5397fc
pop ecx
call fcn.00454330
je 0x421cf8
mov edx, dword [0x15e8c8c]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c88]
push dword [ebp]
push 0xffffffff
push 0x5a
call fcn.00492ae3
inc dword [esp + 4]
jno 0x421c8a
jmp 0x421d7e
mov dword [esp + 4], 0
jmp 0x421d0a
push dword [0x15e8c7c]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x421d7e
mov edx, dword [0x15e8c80]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c7c]
push dword [ebp]
mov edx, 0x5397fc
pop ecx
call fcn.00454330
je 0x421d78
mov edx, dword [0x15e8c80]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c7c]
push dword [ebp]
push 0xffffffff
push 0x5a
call fcn.00492ae3
inc dword [esp + 4]
jno 0x421d0a
push 0
push 0x26
call fcn.00490adf
jmp 0x421e83
mov dword [0x15e8b9c], 0
push 0
push 0
push pe_nt_image_headers32
call fcn.004a53ce
push eax
push 1
push 0x59
call fcn.004929fb
push 0x5a
call fcn.00492a95
push dword [0x15e88c8]
mov edx, 0x539f7c
pop ecx
call fcn.00454330
je 0x421e31
mov dword [esp + 4], 0
jmp 0x421de7
push dword [0x15e8c88]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x421e2f
mov edx, dword [0x15e8c8c]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c88]
push dword [ebp]
push 0xffffffff
push 0x5a
call fcn.00492ae3
inc dword [esp + 4]
jno 0x421de7
jmp 0x421e83
mov dword [esp + 4], 0
jmp 0x421e3b
push dword [0x15e8c7c]
call fcn.004a4fe7
cmp eax, dword [esp + 4]
jl 0x421e83
mov edx, dword [0x15e8c80]
imul edx, dword [esp + 4]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x15e8c7c]
push dword [ebp]
push 0xffffffff
push 0x5a
call fcn.00492ae3
inc dword [esp + 4]
jno 0x421e3b
mov ebx, dword [0x15e8b9c]
cmp ebx, 0x56
jne 0x421e9f
push 1
push 0x4f
call fcn.00490adf
jmp 0x421ec5
mov ebx, dword [0x15e8b9c]
cmp ebx, 0x40
jne 0x421ebb
push 1
push 0x50
call fcn.00490adf
jmp 0x421ec5
mov dword [0x15e8b9c], 0
mov ebx, dword [0x15e8abc]
and ebx, ebx
jle 0x421eef
push 0
call fcn.00498f1f
and eax, eax
je 0x421eed
push dword [0x15e88d4]
push 0x51
call fcn.00492bac
jmp 0x421f0d
push 0
call fcn.00498f1f
and eax, eax
je 0x421f0d
push dword [0x15e8b90]
push 0x51
call fcn.00492bac
push dword [0x15e8a10]
mov edx, 0x5380c4
pop ecx
call fcn.00454330
jne 0x422039
push dword [0x15e8a10]
call fcn.004ac140
mov ebx, eax
cmp ebx, 0x1e
jle 0x421fd4
mov dword [esp + 0x20], 1
jmp 0x421f44
mov eax, 0x53a94e
push eax
push dword [0x15e8a10]
call fcn.004ac890
cmp eax, dword [esp + 0x20]
jl 0x421f90
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
mov eax, 0x53a94e
push eax
push dword [esp + 0x2c]
push dword [0x15e8a10]
call fcn.004ac9c0
lea eax, [esp + 0x28]
push eax
call fcn.004ae430
inc dword [esp + 0x20]
jno 0x421f44
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, 0x545122
push edx
call fcn.004ae4c0
mov edx, dword [esp + 0x2c]
push edx
call fcn.004ae4c0
call fcn.004ae520
push 0x55
call fcn.00454382
add dword [esp + 4], edx
call fcn.00492bac
call fcn.004543a0
jmp 0x422037
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
mov edx, 0x55340a
push edx
call fcn.004ae4c0
push edx
call fcn.004ae3f0
pop edx
push eax
push edx
call fcn.004ae3f0
pop edx
push eax
push dword [0x15e8a10]
call fcn.004ac140
mov ebx, eax
dec ebx
push ebx
push dword [0x15e8a10]
call fcn.004ac920
pop eax
call fcn.004ae520
push 0x55
call fcn.00454382
add dword [esp + 4], edx
call fcn.00492bac
call fcn.004543a0
jmp 0x422049
mov eax, 0x5380c4
push eax
push 0x55
call fcn.00492bac
xor eax, eax
push dword [esp]
call fcn.004ae5f0
push dword [esp + 0xc]
call fcn.004ae5f0
push dword [esp + 8]
call fcn.004ae5f0
push dword [esp + 0x10]
call fcn.004ae5f0
push dword [esp + 0x14]
call fcn.004ae5f0
push dword [esp + 0x24]
call fcn.004ae5f0
add esp, 0x28
pop edi
pop ebx
pop ebp
ret 4