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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov esi, esp
mov dword [esi + 0x6c], ecx
mov eax, dword [0x4ea2c0]
xor eax, ebp
mov dword [esi + 0x88], eax
mov eax, 0xeb17129d
jmp 0x41f460
mov edx, dword [0x4ebfe0]
mov ecx, dword [0x4ebfdc]
mov edi, 0x9650a1bf
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x1fd70a8e
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
nop dword [eax + eax]
cmp eax, 0xf9c0c890
jle 0x41f4b0
cmp eax, 0x4b808cd9
jg 0x41f5a0
cmp eax, 0x28decb5d
jle 0x41f648
cmp eax, 0x350f3095
jg 0x41f7d5
cmp eax, 0x28decb5e
je 0x41f9d9
cmp eax, 0x2b247c2a
jne 0x41f460
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x74]
mov dword [eax], ecx
mov eax, dword [esi + 0x3c]
mov eax, 0x28decb5e
jmp 0x41f460
cmp eax, 0xc3342f18
jg 0x41f600
cmp eax, 0x99f67a32
jle 0x41f681
cmp eax, 0xade065e1
jg 0x41f88c
cmp eax, 0x99f67a33
je 0x41fa41
cmp eax, 0xa5df94c2
jne 0x41f460
mov edi, dword [esi + 0x70]
mov eax, dword [0x4ebff0]
mov edx, 0x1bf09426
mov ebx, 0x2fb4537d
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4ebfec], 0xa
setl cl
or cl, al
mov eax, 0x1bf09426
mov ecx, 0x11ba85e4
cmovne eax, ecx
mov ecx, 0x35782b02
cmovne edx, ecx
mov ecx, dword [edi + 0x18]
mov edi, dword [edi + 0x1c]
nop word cs:[eax + eax]
cmp ebx, 0x2fb4537c
jle 0x41f570
cmp ebx, 0x2fb4537d
je 0x41f58b
cmp ebx, 0x35782b02
je 0x41f592
cmp ebx, 0x4e502c8b
jne 0x41f540
mov ebx, edx
jmp 0x41f540
cmp ebx, 0x11ba85e4
je 0x41fa51
cmp ebx, 0x1bf09426
jne 0x41f540
mov ebx, 0x35782b02
jmp 0x41f540
mov ebx, 0x4e502c8b
jmp 0x41f540
mov ebx, eax
jmp 0x41f540
cmp eax, 0x5c445bd2
jle 0x41f703
cmp eax, 0x6fecb06e
jg 0x41f94c
cmp eax, 0x5c445bd3
je 0x41fa6d
cmp eax, 0x5cfe84d0
jne 0x41f460
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0xa7c5ac5
imul edx, ecx, 0x7597
mov ecx, dword [esi + 8]
shr edx, 5
mulx eax, eax, eax
shr eax, 7
add eax, dword [ecx]
mov dword [esi + 0x74], eax
mov eax, 0x2b247c2a
jmp 0x41f460
cmp eax, 0xeb17129c
jle 0x41f76f
cmp eax, 0xf8c4a6bc
jg 0x41f978
cmp eax, 0xeb17129d
je 0x41fa83
cmp eax, 0xf3b11061
jne 0x41f460
mov ecx, dword [esi + 4]
call fcn.00418c20
mov dword [esi + 0x5c], eax
movzx eax, byte [ebp + 0x18]
mov byte [esi + 3], al
mov eax, 0x350f3096
jmp 0x41f460
cmp eax, 0xf9c0c891
je 0x41faf4
cmp eax, 0x1fd70a8e
je 0x41fb03
cmp eax, 0x288bd719
jne 0x41f460
mov dword [esi + 0x54], 0xffffffff
mov eax, 0x56e99623
mov dword [esi + 0x50], 0xffffffff
jmp 0x41f460
cmp eax, 0x876fec1e
je 0x41fb0d
cmp eax, 0x9650a1bf
je 0x41fb38
cmp eax, 0x97d9e244
jne 0x41f460
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.00435110
add esp, 0xc
mov ecx, dword [esi + 0x14]
mov edi, 0x5c445bd3
mov ebx, 0xdfe8122b
mov dword [ecx], eax
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
cmp byte [eax], 0
mov eax, dword [0x4ebfe0]
lea ecx, [eax + 1]
setne byte [esi + 0x1f]
imul ecx, eax
mov eax, 0xdfe8122b
jmp 0x41fbe8
cmp eax, 0x4b808cda
je 0x41fb4e
cmp eax, 0x520bee52
je 0x41f418
cmp eax, 0x56e99623
jne 0x41f460
mov eax, dword [0x4ebfe0]
mov ebx, 0x97d9e244
mov edi, 0xdfe8122b
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xdfe8122b
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4ebfdc], 0xa
setl dl
cmovge eax, edi
mov edi, dword [esi + 0x54]
xor dl, cl
mov edx, dword [esi + 0x50]
cmovne eax, ebx
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], edx
jmp 0x41f460
cmp eax, 0xc3342f19
je 0x41fb82
cmp eax, 0xcf5387ec
je 0x41fb96
cmp eax, 0xdfe8122b
jne 0x41f460
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.00435110
add esp, 0xc
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
mov eax, 0x97d9e244
jmp 0x41f460
cmp eax, 0x350f3096
je 0x41fbce
cmp eax, 0x4794706e
jne 0x41f460
lea ecx, [ebp + 0xc]
mov eax, dword [esi + 0x40]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x24], ecx
movzx edx, byte [esi + 2]
mov edi, dword [esi + 0x58]
mov ebx, dword [esi + 0x5c]
movsx ecx, byte [esi + 3]
sub esp, 0x20
vmovsd xmm0, qword [eax]
mov eax, dword [ebp + 0x14]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov ecx, dword [esi + 0x24]
call fcn.00431690
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 0x18]
call fcn.004098c0
mov eax, 0xbe18a25a
nop dword [eax]
cmp eax, 0xdb0adbca
je 0x41fc0d
cmp eax, 0xbe18a25a
jne 0x41f870
mov ecx, dword [esi + 0x18]
mov eax, 0xdb0adbca
jmp 0x41f870
cmp eax, 0xade065e2
je 0x41fc5e
cmp eax, 0xb9dfb002
jne 0x41f460
lea ecx, [ebp + 0xc]
mov eax, dword [esi + 0x40]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x24], ecx
movzx edx, byte [esi + 2]
mov edi, dword [esi + 0x58]
mov ebx, dword [esi + 0x5c]
movsx ecx, byte [esi + 3]
sub esp, 0x20
vmovsd xmm0, qword [eax]
mov eax, dword [ebp + 0x14]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov ecx, dword [esi + 0x24]
call fcn.00431690
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 0x18]
call fcn.004098c0
mov eax, 0xbe18a25a
nop word cs:[eax + eax]
cmp eax, 0xdb0adbca
je 0x41fc68
cmp eax, 0xbe18a25a
jne 0x41f930
mov ecx, dword [esi + 0x18]
mov eax, 0xdb0adbca
jmp 0x41f930
cmp eax, 0x6fecb06f
je 0x41fc80
cmp eax, 0x735ad71e
jne 0x41f460
mov eax, dword [esi + 0x60]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x50], eax
mov eax, 0x56e99623
jmp 0x41f460
cmp eax, 0xf8c4a6bd
jne 0x41fd0b
mov ecx, dword [ebp + 0x14]
call fcn.0040fbe0
mov ecx, eax
xor ecx, 0xffffcfff
and ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
mov ecx, 0x99f67a33
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x20]
sete byte [eax]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x28]
sete byte [eax]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
mov eax, 0x520bee52
cmove eax, ecx
jmp 0x41f460
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add eax, 0x32
push 0
push eax
call fcn.0042f9c0
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
call fcn.0040fbe0
push eax
push 0
push dword [esi + 0x38]
push dword [esi + 0x44]
call fcn.00430050
add esp, 0x10
mov ebx, eax
mov eax, dword [esi + 4]
mov ecx, 0x1fcb8653
mov dword [esi + 0x18], eax
nop dword [eax]
cmp ecx, 0x72ba7a5e
je 0x41fca2
cmp ecx, 0x1fcb8653
jne 0x41fa20
mov eax, dword [esi + 0x18]
mov ecx, 0x72ba7a5e
add eax, 0x10
jmp 0x41fa20
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x70], eax
mov eax, 0xa5df94c2
jmp 0x41f460
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0x735ad71e
jmp 0x41f460
cmp byte [esi + 0x1f], 0
mov eax, 0x28decb5e
mov ecx, 0xc3342f19
cmovne eax, ecx
jmp 0x41f460
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 4], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x38], eax
push eax
mov eax, esp
mov dword [esi + 0xc], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x10], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 8], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
call section..text
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0xc]
mov eax, 0xf8c4a6bd
jmp 0x41f460
vmovsd xmm0, qword [esi + 0x78]
mov eax, 0xcf5387ec
jmp 0x41f460
mov eax, 0x9650a1bf
jmp 0x41f460
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x3c]
sub esp, 0xc
vmovsd xmm0, qword [ebp + 0x1c]
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0044008a
fstp st(0)
add esp, 0xc
mov eax, 0x5cfe84d0
jmp 0x41f460
mov edx, dword [0x4ebfe0]
mov ecx, dword [0x4ebfdc]
mov edi, 0x288bd719
jmp 0x41f429
mov edx, dword [0x4ebfe0]
mov ecx, dword [0x4ebfdc]
mov edi, 0xcf5387ec
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xf9c0c891
jmp 0x41f447
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, 0x4b808cda
vmovsd qword [esi + 0x78], xmm0
jmp 0x41f460
vmovsd xmm0, qword [esi + 0x78]
mov eax, dword [0x4ebfe0]
mov edi, 0xade065e2
mov ebx, 0xf9c0c891
vandpd xmm0, xmm0, xmmword [0x458240]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
vmovlpd qword [esi + 0x80], xmm0
test eax, ecx
mov eax, 0xf9c0c891
jmp 0x41fbf0
mov eax, dword [0x4ebfe0]
mov edi, 0x4794706e
mov ebx, 0xb9dfb002
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xb9dfb002
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4ebfdc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41f460
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x30]
call fcn.00409ae0
mov edx, dword [0x4ebfe0]
mov ecx, dword [0x4ebfdc]
mov edi, 0xb9dfb002
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xf8ef471e
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 4]
cmovge eax, edi
jmp 0x41f460
mov eax, 0x6fecb06f
jmp 0x41f460
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x30]
call fcn.00409ae0
mov eax, dword [esi + 4]
mov eax, 0x4794706e
jmp 0x41f460
vmovsd xmm0, qword [esi + 0x80]
mov eax, 0x28decb5e
mov ecx, 0x876fec1e
vucomisd xmm0, qword [0x458250]
cmova eax, ecx
jmp 0x41f460
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov ecx, dword [esi + 4]
push 0
call fcn.00425c80
sub esp, 0x18
vmovsd xmm0, qword [ebp + 0x1c]
mov ecx, dword [esi + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0xc], ecx
vmovsd qword [esp + 0x10], xmm0
call fcn.00424f60
add esp, 0x18
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
sub esp, 8
vmovsd xmm0, qword [ebp + 0x1c]
vmovsd qword [esp], xmm0
call fcn.00435db0
add esp, 8
mov byte [esi + 2], al
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov eax, 0xf3b11061
jmp 0x41f460
cmp eax, 0xf8ef471e
jne 0x41f460
mov ecx, dword [esi + 0x88]
xor ecx, ebp
call fcn.004392e0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c