Function at 0x41ff80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x30
cmp byte [esp + 0x40], 0
push ebx
push ebp
mov ebp, dword [esp + 0x44]
push esi
push edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x38], 0
je 0x42011c
push 0x134
call fcn.00423880
mov ecx, eax
add esp, 4
mov eax, dword [edi + 0x10]
push 0
mov eax, dword [eax + 0x14]
push 0
push edi
test dword [eax + 0xa4], ecx
je 0x41ffdc
call fcn.004236c0
mov ebx, dword [esp + 0x54]
push eax
push ebx
push 0x134
push edi
call fcn.00421ee0
jmp 0x41fff2
call fcn.004236c0
mov ebx, dword [esp + 0x54]
push eax
push ebx
push 0x134
push edi
call fcn.0041d920
movsd xmm0, qword [0x512f50]
add esp, 0x1c
mov dword [esp + 0x44], eax
push ebp
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push ebp
push 1
push dword [edi + 0x10]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x42002f
xor ebp, ebp
jmp 0x42004a
mov eax, dword [esp + 0x38]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x34]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
lea ebp, [esi + 0x18]
mov esi, dword [esp + 0x4c]
movsd xmm0, qword [0x533f58]
push esi
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push esi
push 1
push dword [edi + 0x10]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x42009b
mov eax, dword [esp + 0x38]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x34]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
add esi, 0x18
push ebp
push esi
push dword [esp + 0x4c]
push 0x71
push edi
call fcn.0041d990
push 0x121
mov dword [esp + 0x50], eax
call fcn.00423880
mov ecx, dword [edi + 0x10]
add esp, 0x18
mov ecx, dword [ecx + 0x14]
push ebx
test dword [ecx + 0xa4], eax
je 0x420106
push 0x1b7
push edi
call fcn.0041d8d0
push 0
push 0
push eax
push edi
call fcn.0041b3e0
push ebx
push 0x14a
push edi
mov esi, eax
call fcn.0041d8d0
push ebx
push eax
push esi
push 0x71
push edi
call fcn.0041d990
mov ebp, dword [esp + 0x88]
add esp, 0x3c
mov esi, eax
jmp 0x420120
push 0x121
push edi
call fcn.0041d8d0
mov ebp, dword [esp + 0x58]
add esp, 0xc
mov esi, eax
jmp 0x420120
mov esi, dword [esp + 0x48]
push 0x198
call fcn.00423880
mov ecx, dword [edi + 0x10]
add esp, 4
mov ecx, dword [ecx + 0x14]
push esi
test dword [ecx + 0xa4], eax
je 0x420147
push edi
call fcn.004233f0
add esp, 8
jmp 0x420155
push 0x198
push edi
call fcn.0041d8d0
add esp, 0xc
mov dword [esp + 0x14], eax
cmp ebp, 0x10
je 0x420170
cmp ebp, 0x20
mov eax, 0x34
mov ebp, 0x17
cmovne ebp, eax
jmp 0x420175
mov ebp, 0xa
push 0x20
push 0
push 0
mov dword [esp + 0x28], ebp
call fcn.0040fdb0
push 0x20
push 1
push dword [edi + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
call fcn.00409c50
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x4201bc
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x24]
push ebx
push edi
mov dword [ebx + 0x34], eax
call fcn.0041dcb0
add esp, 8
add ebx, 0x18
mov eax, ebp
push 0
neg eax
push eax
push dword [esp + 0x1c]
push edi
call fcn.00410950
push ebx
push eax
push 0x13c
push edi
call fcn.0041d920
mov ebx, eax
push 0x1c5
mov dword [esp + 0x3c], ebx
call fcn.00423880
mov ecx, dword [edi + 0x10]
add esp, 0x24
mov ecx, dword [ecx + 0x14]
push ebx
push esi
test dword [ecx + 0xa4], eax
je 0x420208
push edi
call fcn.00423460
add esp, 0xc
jmp 0x420216
push 0x1c5
push edi
call fcn.0041d920
add esp, 0x10
mov ebx, eax
cmp ebp, 0x20
jae 0x420257
push 0x189
call fcn.00423880
mov ecx, dword [edi + 0x10]
add esp, 4
mov ecx, dword [ecx + 0x14]
test dword [ecx + 0xa4], eax
je 0x420240
push ebx
push 0x1b6
jmp 0x42024c
cmp byte [ebx + 0x11], 0x20
je 0x420257
push ebx
push 0x189
push edi
call fcn.0041d8d0
mov ebx, eax
add esp, 0xc
push 0x152
call fcn.00423880
mov ebp, dword [edi + 0x10]
push 0x40
push 0
push 1
mov dword [esp + 0x40], eax
call fcn.0040fdb0
mov ecx, dword [esp + 0x40]
add esp, 0x10
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], edx
push 0x40
push 1
push ebp
test dword [eax + 0xa4], ecx
je 0x4202db
call fcn.00409c50
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4202b0
push dword [esp + 0x18]
push ebp
push edi
call fcn.00422330
add esp, 0xc
jmp 0x420317
mov eax, dword [esp + 0x44]
mov dword [ebp + 0x30], eax
mov eax, dword [esp + 0x10]
push ebp
push edi
mov dword [ebp + 0x34], eax
call fcn.0041dcb0
add esp, 8
add ebp, 0x18
push dword [esp + 0x18]
push ebp
push edi
call fcn.00422330
add esp, 0xc
jmp 0x420317
call fcn.00409c50
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x420304
mov eax, dword [esp + 0x44]
mov dword [ebp + 0x30], eax
mov eax, dword [esp + 0x10]
push ebp
push edi
mov dword [ebp + 0x34], eax
call fcn.0041dcb0
add esp, 8
add ebp, 0x18
push dword [esp + 0x18]
push ebp
push 0x152
push edi
call fcn.0041d920
add esp, 0x10
push 0x155
mov ebp, eax
call fcn.00423880
mov edx, dword [edi + 0x10]
add esp, 4
mov ecx, dword [edx + 0x14]
push 0x40
push 1
push edx
test dword [ecx + 0xa4], eax
je 0x420382
call fcn.00409c50
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
jne 0x420356
push eax
push ebp
push edi
call fcn.00422600
add esp, 0xc
jmp 0x4203c1
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x10]
push eax
push edi
mov dword [eax + 0x34], ecx
call fcn.0041dcb0
mov eax, dword [esp + 0x3c]
add esp, 8
add eax, 0x18
push eax
push ebp
push edi
call fcn.00422600
add esp, 0xc
jmp 0x4203c1
call fcn.00409c50
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4203b1
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x10]
push eax
push edi
mov dword [eax + 0x34], ecx
call fcn.0041dcb0
mov eax, dword [esp + 0x3c]
add esp, 8
add eax, 0x18
push eax
push ebp
push 0x155
push edi
call fcn.0041d920
add esp, 0x10
push 0x153
mov dword [esp + 0x48], eax
call fcn.00423880
push 0x20
push 0
push 1
mov dword [esp + 0x44], eax
call fcn.0040fdb0
mov ecx, dword [edi + 0x10]
add esp, 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x34]
mov eax, dword [ecx + 0x14]
push 0x20
push 1
push ecx
test dword [eax + 0xa4], edx
je 0x420449
call fcn.00409c50
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x42041d
push eax
push ebp
push edi
call fcn.00422490
add esp, 0xc
jmp 0x420488
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x28]
push eax
push edi
mov dword [eax + 0x34], ecx
call fcn.0041dcb0
mov eax, dword [esp + 0x34]
add esp, 8
add eax, 0x18
push eax
push ebp
push edi
call fcn.00422490
add esp, 0xc
jmp 0x420488
call fcn.00409c50
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
je 0x420478
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x28]
push eax
push edi
mov dword [eax + 0x34], ecx
call fcn.0041dcb0
mov eax, dword [esp + 0x34]
add esp, 8
add eax, 0x18
push eax
push ebp
push 0x153
push edi
call fcn.0041d920
add esp, 0x10
push 0x125
mov dword [esp + 0x14], eax
call fcn.00423880
mov ecx, dword [edi + 0x10]
add esp, 4
mov dword [esp + 0x2c], eax
mov ecx, dword [ecx + 0x14]
push dword [esp + 0x44]
push esi
test dword [ecx + 0xa4], eax
je 0x4204bb
push edi
call fcn.00420e80
add esp, 0xc
jmp 0x4204c9
push 0x125
push edi
call fcn.0041d920
add esp, 0x10
push 0x129
mov dword [esp + 0x48], eax
call fcn.00423880
mov ecx, dword [edi + 0x10]
add esp, 4
push dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
push dword [esp + 0x48]
push 0x129
push edi
test dword [ecx + 0xa4], eax
je 0x4204fd
call fcn.00421ee0
jmp 0x420502
call fcn.0041d920
add esp, 0x10
mov dword [esp + 0x28], eax
push 0
push 0
push dword [esp + 0x20]
push edi
call fcn.00423710
push eax
push dword [esp + 0x3c]
push 0x125
push edi
call fcn.0041d920
mov ecx, dword [edi + 0x10]
push 0x146
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xa4]
mov dword [esp + 0x4c], ecx
call fcn.00423880
mov ecx, dword [esp + 0x4c]
add esp, 0x24
push ebp
push esi
test ecx, eax
je 0x4205db
test dword [esp + 0x34], ecx
je 0x420567
push edi
call fcn.00420e80
add esp, 0xc
jmp 0x420575
push 0x125
push edi
call fcn.0041d920
add esp, 0x10
push 0x40
push 0
push 0
mov ebp, eax
call fcn.0040fdb0
push 0x40
push 1
push dword [edi + 0x10]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4205b1
push ebp
push esi
push 0x146
push edi
call fcn.00421ee0
jmp 0x42064c
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x28]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
add esi, 0x18
push ebp
push esi
push 0x146
push edi
call fcn.00421ee0
jmp 0x42064c
test dword [esp + 0x34], ecx
je 0x4205ec
push edi
call fcn.00420e80
add esp, 0xc
jmp 0x4205fa
push 0x125
push edi
call fcn.0041d920
add esp, 0x10
push 0x40
push 0
push 0
mov ebp, eax
call fcn.0040fdb0
push 0x40
push 1
push dword [edi + 0x10]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x42063f
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x28]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
add esi, 0x18
push ebp
push esi
push 0x146
push edi
call fcn.0041d920
add esp, 0x10
mov ebp, eax
push 0x134
call fcn.00423880
mov ecx, dword [edi + 0x10]
add esp, 4
push dword [esp + 0x44]
mov ecx, dword [ecx + 0x14]
push dword [esp + 0x14]
push 0x134
push edi
test dword [ecx + 0xa4], eax
je 0x420681
call fcn.00421ee0
jmp 0x420686
call fcn.0041d920
add esp, 0x10
mov esi, eax
push ebp
push dword [esp + 0x40]
push 0x125
push edi
call fcn.0041d920
push eax
push esi
push 0x14f
push edi
call fcn.0041d920
mov esi, dword [edi + 0x10]
add esp, 0x20
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x44], eax
mov ecx, dword [esi + 0x10c]
cmp edx, 0x10
jne 0x420730
test ecx, 0x40000
je 0x420754
push dword [esp + 0x18]
push 0x183
push edi
call fcn.0041d8d0
push eax
push 0xcf
push edi
call fcn.0041d8d0
push ebx
push 0x183
push edi
mov esi, eax
call fcn.0041d8d0
mov edx, 0xed
mov ebp, eax
add esp, 0x24
push esi
push ebp
mov ecx, edi
push edx
push ecx
call fcn.0041d920
add esp, 0x10
cmp byte [esp + 0x50], 0
je 0x420728
push dword [esp + 0x38]
push eax
push 0xed
push edi
call fcn.0041d920
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edx, 0x20
jne 0x420743
test ecx, 0x80000
jne 0x420a88
jmp 0x420754
cmp edx, 0x40
jne 0x420754
test ecx, 0x100000
jne 0x42080b
cmp dword [esp + 0x1c], 0x20
jb 0x4207e3
mov eax, dword [esi + 0x14]
push 0x122
mov esi, dword [eax + 0xa4]
mov ebp, esi
and ebp, 0x800000
call fcn.00423880
add esp, 4
push dword [esp + 0x44]
test esi, eax
je 0x4207b7
test ebp, ebp
je 0x42079f
push edi
call fcn.00420ab0
add esp, 8
push eax
push ebx
push edi
call fcn.00420dd0
add esp, 0xc
jmp 0x4207fc
push 0x24
push edi
call fcn.0041d8d0
add esp, 0xc
push eax
push ebx
push edi
call fcn.00420dd0
add esp, 0xc
jmp 0x4207fc
test ebp, ebp
je 0x4207c6
push edi
call fcn.00420ab0
add esp, 8
jmp 0x4207d1
push 0x24
push edi
call fcn.0041d8d0
add esp, 0xc
push eax
push ebx
push 0x122
push edi
call fcn.0041d920
add esp, 0x10
jmp 0x4207fc
push eax
push 0x23
push edi
call fcn.0041d8d0
push eax
push ebx
push 0x122
push edi
call fcn.0041d920
add esp, 0x1c
mov esi, dword [esp + 0x4c]
mov ebx, eax
cmp esi, 0x40
jne 0x420a7f
push 0x20
push 1
push dword [edi + 0x10]
call fcn.00409c50
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x420824
xor ebp, ebp
jmp 0x42083f
mov eax, dword [esp + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x24]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
lea ebp, [esi + 0x18]
mov eax, dword [esp + 0x14]
movzx esi, byte [eax + 0x11]
push esi
push 0
push dword [esp + 0x24]
call fcn.0040fdb0
push esi
push 1
push dword [edi + 0x10]
mov dword [esp + 0x64], eax
mov dword [esp + 0x5c], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x42088a
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x44]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
add esi, 0x18
push dword [esp + 0x14]
push esi
push 0x155
push edi
call fcn.0041d920
push ebp
push eax
push 0x13c
push edi
call fcn.0041d920
mov ecx, dword [edi + 0x10]
add esp, 0x20
mov edx, dword [esp + 0x30]
mov ecx, dword [ecx + 0x14]
push eax
push ebx
test dword [ecx + 0xa4], edx
je 0x4208c9
push edi
call fcn.00422330
add esp, 0xc
jmp 0x4208d7
push 0x152
push edi
call fcn.0041d920
add esp, 0x10
mov ebx, eax
push ebx
push 0x1b7
push edi
call fcn.0041d8d0
mov ecx, dword [esp + 0x28]
mov esi, eax
mov eax, 1
lea ecx, [ecx - 0x1f]
shl eax, cl
cdq
push edx
push eax
push esi
push edi
call fcn.00423b20
push eax
push 0x23
push edi
call fcn.0041d8d0
mov ecx, dword [edi + 0x10]
add esp, 0x28
mov esi, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + 0x14]
push esi
push ebx
test dword [ecx + 0xa4], eax
je 0x42092c
push edi
call fcn.00422490
add esp, 0xc
jmp 0x42093a
push 0x153
push edi
call fcn.0041d920
add esp, 0x10
push esi
push dword [esp + 0x18]
mov ebx, eax
push 0x122
push edi
call fcn.0041d920
push 0
mov ebp, eax
push 0x3ff
push ebp
push edi
call fcn.00410950
push 0x20
push 1
push dword [edi + 0x10]
mov dword [esp + 0x78], eax
call fcn.00409c50
mov esi, eax
add esp, 0x2c
test esi, esi
je 0x420990
mov eax, dword [esp + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x24]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
add esi, 0x18
push 0
push 0
push ebp
push edi
call fcn.0041b3e0
push dword [esp + 0x5c]
push esi
push eax
push 0x71
push edi
call fcn.0041d990
push ebx
push 0x1b6
push edi
mov dword [esp + 0x6c], eax
call fcn.0041d8d0
push 0x20
push 0
push 0x14
mov ebp, eax
call fcn.0040fdb0
push 0x20
push 1
push dword [edi + 0x10]
mov dword [esp + 0x94], eax
mov dword [esp + 0x8c], edx
call fcn.00409c50
mov esi, eax
add esp, 0x48
test esi, esi
jne 0x4209ef
mov dword [esp + 0x4c], eax
jmp 0x420a0e
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x44]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dcb0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x4c], eax
push ebx
push 0x1b7
push edi
call fcn.0041d8d0
push 0x20
push 0
push 0xb
mov dword [esp + 0x4c], eax
call fcn.0040fdb0
push 0x20
push 1
push dword [edi + 0x10]
mov ebx, eax
mov dword [esp + 0x68], edx
call fcn.00409c50
mov esi, eax
add esp, 0x24
test esi, esi
je 0x420a5b
mov eax, dword [esp + 0x44]
push esi
mov dword [esi + 0x30], ebx
push edi
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
add esi, 0x18
push esi
push dword [esp + 0x50]
push dword [esp + 0x44]
push dword [esp + 0x40]
push 0x75
push edi
call fcn.0041da10
add esp, 0x18
mov esi, eax
mov edx, 0x168
jmp 0x420700
cmp esi, 0x20
jne 0x4206cd
push dword [esp + 0x18]
push 0x184
push edi
call fcn.0041d8d0
push eax
push 0xcf
push edi
call fcn.0041d8d0
push ebx
push 0x184
jmp 0x4206ee