Function at 0x41fef0
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 0x42008c
push 0x134
call fcn.004237f0
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 0x41ff4c
call fcn.00423630
mov ebx, dword [esp + 0x54]
push eax
push ebx
push 0x134
push edi
call fcn.00421e50
jmp 0x41ff62
call fcn.00423630
mov ebx, dword [esp + 0x54]
push eax
push ebx
push 0x134
push edi
call fcn.0041d890
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.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x41ff9f
xor ebp, ebp
jmp 0x41ffba
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.0041dc20
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.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x42000b
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.0041dc20
add esp, 8
add esi, 0x18
push ebp
push esi
push dword [esp + 0x4c]
push 0x71
push edi
call fcn.0041d900
push 0x121
mov dword [esp + 0x50], eax
call fcn.004237f0
mov ecx, dword [edi + 0x10]
add esp, 0x18
mov ecx, dword [ecx + 0x14]
push ebx
test dword [ecx + 0xa4], eax
je 0x420076
push 0x1b7
push edi
call fcn.0041d840
push 0
push 0
push eax
push edi
call fcn.0041b350
push ebx
push 0x14a
push edi
mov esi, eax
call fcn.0041d840
push ebx
push eax
push esi
push 0x71
push edi
call fcn.0041d900
mov ebp, dword [esp + 0x88]
add esp, 0x3c
mov esi, eax
jmp 0x420090
push 0x121
push edi
call fcn.0041d840
mov ebp, dword [esp + 0x58]
add esp, 0xc
mov esi, eax
jmp 0x420090
mov esi, dword [esp + 0x48]
push 0x198
call fcn.004237f0
mov ecx, dword [edi + 0x10]
add esp, 4
mov ecx, dword [ecx + 0x14]
push esi
test dword [ecx + 0xa4], eax
je 0x4200b7
push edi
call fcn.00423360
add esp, 8
jmp 0x4200c5
push 0x198
push edi
call fcn.0041d840
add esp, 0xc
mov dword [esp + 0x14], eax
cmp ebp, 0x10
je 0x4200e0
cmp ebp, 0x20
mov eax, 0x34
mov ebp, 0x17
cmovne ebp, eax
jmp 0x4200e5
mov ebp, 0xa
push 0x20
push 0
push 0
mov dword [esp + 0x28], ebp
call fcn.0040fd20
push 0x20
push 1
push dword [edi + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
call fcn.00409be0
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x42012c
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.0041dc20
add esp, 8
add ebx, 0x18
mov eax, ebp
push 0
neg eax
push eax
push dword [esp + 0x1c]
push edi
call fcn.004108c0
push ebx
push eax
push 0x13c
push edi
call fcn.0041d890
mov ebx, eax
push 0x1c5
mov dword [esp + 0x3c], ebx
call fcn.004237f0
mov ecx, dword [edi + 0x10]
add esp, 0x24
mov ecx, dword [ecx + 0x14]
push ebx
push esi
test dword [ecx + 0xa4], eax
je 0x420178
push edi
call fcn.004233d0
add esp, 0xc
jmp 0x420186
push 0x1c5
push edi
call fcn.0041d890
add esp, 0x10
mov ebx, eax
cmp ebp, 0x20
jae 0x4201c7
push 0x189
call fcn.004237f0
mov ecx, dword [edi + 0x10]
add esp, 4
mov ecx, dword [ecx + 0x14]
test dword [ecx + 0xa4], eax
je 0x4201b0
push ebx
push 0x1b6
jmp 0x4201bc
cmp byte [ebx + 0x11], 0x20
je 0x4201c7
push ebx
push 0x189
push edi
call fcn.0041d840
mov ebx, eax
add esp, 0xc
push 0x152
call fcn.004237f0
mov ebp, dword [edi + 0x10]
push 0x40
push 0
push 1
mov dword [esp + 0x40], eax
call fcn.0040fd20
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 0x42024b
call fcn.00409be0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x420220
push dword [esp + 0x18]
push ebp
push edi
call fcn.004222a0
add esp, 0xc
jmp 0x420287
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.0041dc20
add esp, 8
add ebp, 0x18
push dword [esp + 0x18]
push ebp
push edi
call fcn.004222a0
add esp, 0xc
jmp 0x420287
call fcn.00409be0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x420274
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.0041dc20
add esp, 8
add ebp, 0x18
push dword [esp + 0x18]
push ebp
push 0x152
push edi
call fcn.0041d890
add esp, 0x10
push 0x155
mov ebp, eax
call fcn.004237f0
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 0x4202f2
call fcn.00409be0
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
jne 0x4202c6
push eax
push ebp
push edi
call fcn.00422570
add esp, 0xc
jmp 0x420331
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.0041dc20
mov eax, dword [esp + 0x3c]
add esp, 8
add eax, 0x18
push eax
push ebp
push edi
call fcn.00422570
add esp, 0xc
jmp 0x420331
call fcn.00409be0
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x420321
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.0041dc20
mov eax, dword [esp + 0x3c]
add esp, 8
add eax, 0x18
push eax
push ebp
push 0x155
push edi
call fcn.0041d890
add esp, 0x10
push 0x153
mov dword [esp + 0x48], eax
call fcn.004237f0
push 0x20
push 0
push 1
mov dword [esp + 0x44], eax
call fcn.0040fd20
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 0x4203b9
call fcn.00409be0
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x42038d
push eax
push ebp
push edi
call fcn.00422400
add esp, 0xc
jmp 0x4203f8
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.0041dc20
mov eax, dword [esp + 0x34]
add esp, 8
add eax, 0x18
push eax
push ebp
push edi
call fcn.00422400
add esp, 0xc
jmp 0x4203f8
call fcn.00409be0
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4203e8
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.0041dc20
mov eax, dword [esp + 0x34]
add esp, 8
add eax, 0x18
push eax
push ebp
push 0x153
push edi
call fcn.0041d890
add esp, 0x10
push 0x125
mov dword [esp + 0x14], eax
call fcn.004237f0
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 0x42042b
push edi
call fcn.00420df0
add esp, 0xc
jmp 0x420439
push 0x125
push edi
call fcn.0041d890
add esp, 0x10
push 0x129
mov dword [esp + 0x48], eax
call fcn.004237f0
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 0x42046d
call fcn.00421e50
jmp 0x420472
call fcn.0041d890
add esp, 0x10
mov dword [esp + 0x28], eax
push 0
push 0
push dword [esp + 0x20]
push edi
call fcn.00423680
push eax
push dword [esp + 0x3c]
push 0x125
push edi
call fcn.0041d890
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.004237f0
mov ecx, dword [esp + 0x4c]
add esp, 0x24
push ebp
push esi
test ecx, eax
je 0x42054b
test dword [esp + 0x34], ecx
je 0x4204d7
push edi
call fcn.00420df0
add esp, 0xc
jmp 0x4204e5
push 0x125
push edi
call fcn.0041d890
add esp, 0x10
push 0x40
push 0
push 0
mov ebp, eax
call fcn.0040fd20
push 0x40
push 1
push dword [edi + 0x10]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x420521
push ebp
push esi
push 0x146
push edi
call fcn.00421e50
jmp 0x4205bc
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.0041dc20
add esp, 8
add esi, 0x18
push ebp
push esi
push 0x146
push edi
call fcn.00421e50
jmp 0x4205bc
test dword [esp + 0x34], ecx
je 0x42055c
push edi
call fcn.00420df0
add esp, 0xc
jmp 0x42056a
push 0x125
push edi
call fcn.0041d890
add esp, 0x10
push 0x40
push 0
push 0
mov ebp, eax
call fcn.0040fd20
push 0x40
push 1
push dword [edi + 0x10]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4205af
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.0041dc20
add esp, 8
add esi, 0x18
push ebp
push esi
push 0x146
push edi
call fcn.0041d890
add esp, 0x10
mov ebp, eax
push 0x134
call fcn.004237f0
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 0x4205f1
call fcn.00421e50
jmp 0x4205f6
call fcn.0041d890
add esp, 0x10
mov esi, eax
push ebp
push dword [esp + 0x40]
push 0x125
push edi
call fcn.0041d890
push eax
push esi
push 0x14f
push edi
call fcn.0041d890
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 0x4206a0
test ecx, 0x40000
je 0x4206c4
push dword [esp + 0x18]
push 0x183
push edi
call fcn.0041d840
push eax
push 0xcf
push edi
call fcn.0041d840
push ebx
push 0x183
push edi
mov esi, eax
call fcn.0041d840
mov edx, 0xed
mov ebp, eax
add esp, 0x24
push esi
push ebp
mov ecx, edi
push edx
push ecx
call fcn.0041d890
add esp, 0x10
cmp byte [esp + 0x50], 0
je 0x420698
push dword [esp + 0x38]
push eax
push 0xed
push edi
call fcn.0041d890
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edx, 0x20
jne 0x4206b3
test ecx, 0x80000
jne 0x4209f8
jmp 0x4206c4
cmp edx, 0x40
jne 0x4206c4
test ecx, 0x100000
jne 0x42077b
cmp dword [esp + 0x1c], 0x20
jb 0x420753
mov eax, dword [esi + 0x14]
push 0x122
mov esi, dword [eax + 0xa4]
mov ebp, esi
and ebp, 0x800000
call fcn.004237f0
add esp, 4
push dword [esp + 0x44]
test esi, eax
je 0x420727
test ebp, ebp
je 0x42070f
push edi
call fcn.00420a20
add esp, 8
push eax
push ebx
push edi
call fcn.00420d40
add esp, 0xc
jmp 0x42076c
push 0x24
push edi
call fcn.0041d840
add esp, 0xc
push eax
push ebx
push edi
call fcn.00420d40
add esp, 0xc
jmp 0x42076c
test ebp, ebp
je 0x420736
push edi
call fcn.00420a20
add esp, 8
jmp 0x420741
push 0x24
push edi
call fcn.0041d840
add esp, 0xc
push eax
push ebx
push 0x122
push edi
call fcn.0041d890
add esp, 0x10
jmp 0x42076c
push eax
push 0x23
push edi
call fcn.0041d840
push eax
push ebx
push 0x122
push edi
call fcn.0041d890
add esp, 0x1c
mov esi, dword [esp + 0x4c]
mov ebx, eax
cmp esi, 0x40
jne 0x4209ef
push 0x20
push 1
push dword [edi + 0x10]
call fcn.00409be0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x420794
xor ebp, ebp
jmp 0x4207af
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.0041dc20
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.0040fd20
push esi
push 1
push dword [edi + 0x10]
mov dword [esp + 0x64], eax
mov dword [esp + 0x5c], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4207fa
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.0041dc20
add esp, 8
add esi, 0x18
push dword [esp + 0x14]
push esi
push 0x155
push edi
call fcn.0041d890
push ebp
push eax
push 0x13c
push edi
call fcn.0041d890
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 0x420839
push edi
call fcn.004222a0
add esp, 0xc
jmp 0x420847
push 0x152
push edi
call fcn.0041d890
add esp, 0x10
mov ebx, eax
push ebx
push 0x1b7
push edi
call fcn.0041d840
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.00423a90
push eax
push 0x23
push edi
call fcn.0041d840
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 0x42089c
push edi
call fcn.00422400
add esp, 0xc
jmp 0x4208aa
push 0x153
push edi
call fcn.0041d890
add esp, 0x10
push esi
push dword [esp + 0x18]
mov ebx, eax
push 0x122
push edi
call fcn.0041d890
push 0
mov ebp, eax
push 0x3ff
push ebp
push edi
call fcn.004108c0
push 0x20
push 1
push dword [edi + 0x10]
mov dword [esp + 0x78], eax
call fcn.00409be0
mov esi, eax
add esp, 0x2c
test esi, esi
je 0x420900
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.0041dc20
add esp, 8
add esi, 0x18
push 0
push 0
push ebp
push edi
call fcn.0041b350
push dword [esp + 0x5c]
push esi
push eax
push 0x71
push edi
call fcn.0041d900
push ebx
push 0x1b6
push edi
mov dword [esp + 0x6c], eax
call fcn.0041d840
push 0x20
push 0
push 0x14
mov ebp, eax
call fcn.0040fd20
push 0x20
push 1
push dword [edi + 0x10]
mov dword [esp + 0x94], eax
mov dword [esp + 0x8c], edx
call fcn.00409be0
mov esi, eax
add esp, 0x48
test esi, esi
jne 0x42095f
mov dword [esp + 0x4c], eax
jmp 0x42097e
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.0041dc20
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x4c], eax
push ebx
push 0x1b7
push edi
call fcn.0041d840
push 0x20
push 0
push 0xb
mov dword [esp + 0x4c], eax
call fcn.0040fd20
push 0x20
push 1
push dword [edi + 0x10]
mov ebx, eax
mov dword [esp + 0x68], edx
call fcn.00409be0
mov esi, eax
add esp, 0x24
test esi, esi
je 0x4209cb
mov eax, dword [esp + 0x44]
push esi
mov dword [esi + 0x30], ebx
push edi
mov dword [esi + 0x34], eax
call fcn.0041dc20
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.0041d980
add esp, 0x18
mov esi, eax
mov edx, 0x168
jmp 0x420670
cmp esi, 0x20
jne 0x42063d
push dword [esp + 0x18]
push 0x184
push edi
call fcn.0041d840
push eax
push 0xcf
push edi
call fcn.0041d840
push ebx
push 0x184
jmp 0x42065e