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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov esi, esp
mov dword [esi + 0x68], ecx
mov eax, dword [0x4b02c0]
xor eax, ebp
mov dword [esi + 0x80], eax
mov eax, dword [0x4b1ff0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [0x4b1fec]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x10]
cmp eax, 0xa
mov eax, 0x626fb949
setl byte [esi + 0x11]
jmp 0x41f700
mov eax, dword [0x4b1ff0]
mov ebx, 0xbe284007
mov edi, 0x5e2b887a
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x5e2b887a
sete cl
cmove eax, ebx
cmp dword [0x4b1fec], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
nop word cs:[eax + eax]
cmp eax, 0xf9e95daf
jle 0x41f770
cmp eax, 0x4c0d4537
jle 0x41f7d0
cmp eax, 0x5e2b8879
jle 0x41f881
cmp eax, 0x77bbe7aa
jg 0x41f9f4
cmp eax, 0x5e2b887a
je 0x41fad9
cmp eax, 0x626fb949
jne 0x41f700
movzx ecx, byte [esi + 0x10]
movzx eax, byte [esi + 0x11]
mov edi, 0x77bbe7ab
mov edx, ecx
xor dl, al
mov edx, 0x7a8ac323
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x41f700
cmp eax, 0xd5d4411f
jg 0x41f820
cmp eax, 0x964b1218
jle 0x41f958
cmp eax, 0xbd017574
jle 0x41fa1f
cmp eax, 0xbd017575
je 0x41fae3
cmp eax, 0xbe284007
jne 0x41f700
mov eax, dword [0x4b1ff0]
mov edi, 0xba9080cb
mov ebx, 0x5e2b887a
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x5e2b887a
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x41fb5c
cmp eax, 0x19d7651e
jg 0x41f986
cmp eax, 0xf9e95db0
je 0x41faf0
cmp eax, 0xbcb817e
je 0x41fafa
cmp eax, 0x1269e786
jne 0x41f700
mov eax, dword [esi + 0x20]
vmovsd xmm0, qword [eax]
mov eax, 0x8133c86a
vmovsd qword [esi + 0x78], xmm0
jmp 0x41f700
cmp eax, 0xef6a350f
jg 0x41f9bd
cmp eax, 0xd5d44120
je 0x41fb31
cmp eax, 0xec37f467
je 0x41fb3b
cmp eax, 0xee63956c
jne 0x41f700
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x20]
vmovsd xmm0, qword [eax]
mov eax, dword [esi + 0x34]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00430600
fstp st(0)
add esp, 0xc
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, 0xbcb817e
jmp 0x41f700
cmp eax, 0x4c0d4538
je 0x41fb79
cmp eax, 0x4f2c48f7
je 0x41fb83
cmp eax, 0x55ba1052
jne 0x41f700
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov edx, dword [0x4b23b8]
mov edi, 0xed1e6737
lea ecx, [edx + 1]
mov eax, dword [eax]
imul ecx, edx
test cl, 1
sete dl
cmp dword [0x4b23b4], 0xa
setge dh
setl bl
or dh, cl
xor bl, dl
mov ecx, 0x915d8945
not dh
or dh, bl
mov ebx, 0x150ac9d8
test dh, 1
mov edx, 0x6382b2a5
cmovne ecx, edx
mov edx, 0x915d8945
cmovne edx, edi
nop word cs:[eax + eax]
cmp ebx, 0xfeb0f67d
jle 0x41f930
cmp ebx, 0xfeb0f67e
je 0x41f94a
cmp ebx, 0x6382b2a5
je 0x41fb9b
cmp ebx, 0x150ac9d8
jne 0x41f900
mov dword [esi + 8], eax
mov ebx, 0xfeb0f67e
jmp 0x41f900
cmp ebx, 0x915d8945
je 0x41f94e
cmp ebx, 0xed1e6737
jne 0x41f900
mov edi, dword [esi + 8]
mov ebx, ecx
mov edi, dword [edi + 0x14]
jmp 0x41f900
mov ebx, edx
jmp 0x41f900
mov ebx, dword [esi + 8]
mov ebx, 0xed1e6737
jmp 0x41f900
cmp eax, 0x8133c86a
je 0x41fbea
cmp eax, 0x85abbbe5
je 0x41fc0d
cmp eax, 0x90f1c375
jne 0x41f700
mov eax, dword [esi + 0x14]
mov eax, 0xef6a3510
jmp 0x41f700
cmp eax, 0x19d7651f
je 0x41fc2a
cmp eax, 0x2305bbd5
je 0x41f6bb
cmp eax, 0x30317ab2
jne 0x41f700
cmp byte [esi + 0x13], 0
mov eax, 0xf2e2f79d
mov ecx, 0xee63956c
cmovne eax, ecx
jmp 0x41f700
cmp eax, 0xef6a3510
je 0x41fc7a
cmp eax, 0xf2e2f79d
je 0x41fca8
cmp eax, 0xf48af69c
jne 0x41f700
mov eax, dword [esi + 0x60]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x44], eax
mov eax, 0x19d7651f
jmp 0x41f700
cmp eax, 0x77bbe7ab
je 0x41fd78
cmp eax, 0x7a8ac323
jne 0x41f700
push eax
sub esp, 0x14
mov ecx, esp
call fcn.004014b0
mov eax, 0x77bbe7ab
jmp 0x41f700
cmp eax, 0x964b1219
jne 0x420158
mov eax, dword [esi + 0x6c]
mov edx, 0x1af88527
mov edi, 0xbf332d79
mov dword [esi + 8], eax
mov eax, dword [0x4b1fe8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4b1fe4], 0xa
setl cl
or cl, al
mov eax, 0xe52b0e14
mov ecx, 0xf5c703c6
cmovne eax, ecx
mov ecx, 0xe52b0e14
cmovne ecx, edx
nop word cs:[eax + eax]
cmp edi, 0xe52b0e13
jle 0x41fab0
cmp edi, 0xe52b0e14
je 0x41fac8
cmp edi, 0xf5c703c6
je 0x41fad2
cmp edi, 0x1af88527
jne 0x41fa80
mov edx, dword [esi + 8]
mov edi, eax
add edx, 0x18
jmp 0x41fa80
cmp edi, 0x8f25596c
je 0x41fe37
cmp edi, 0xbf332d79
jne 0x41fa80
mov edi, ecx
jmp 0x41fa80
mov edi, dword [esi + 8]
mov edi, 0x1af88527
jmp 0x41fa80
mov edi, 0x8f25596c
jmp 0x41fa80
mov eax, 0xbe284007
jmp 0x41f700
mov eax, dword [esi + 0xc]
mov eax, 0x2305bbd5
jmp 0x41f700
mov eax, 0x964b1219
jmp 0x41f700
mov eax, dword [esi + 0x70]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0xa7c5ac5
imul edx, ecx, 0x7597
mov ecx, dword [esi + 0x1c]
shr edx, 5
mulx eax, eax, eax
shr eax, 7
add eax, dword [ecx]
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [esi + 0x34]
mov eax, 0x4c0d4538
jmp 0x41f700
mov eax, 0x55ba1052
jmp 0x41f700
mov eax, dword [0x4b1ff0]
mov edi, 0xef6a3510
mov ebx, 0x90f1c375
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x90f1c375
sete cl
cmove eax, edi
cmp dword [0x4b1fec], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41f700
mov eax, 0xf2e2f79d
jmp 0x41f700
mov dword [esi + 0x48], 0xffffffff
mov eax, 0x19d7651f
mov dword [esi + 0x44], 0xffffffff
jmp 0x41f700
mov dword [esi + 4], edi
mov eax, dword [esi + 4]
mov ecx, eax
xor ecx, 0xffffcfff
and ecx, eax
mov eax, dword [esi + 0x18]
mov dword [eax], ecx
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x28]
sete byte [eax]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x18]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x2c]
sete byte [eax]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax]
mov byte [esi + 0x12], al
mov eax, 0x85abbbe5
jmp 0x41f700
vmovsd xmm0, qword [esi + 0x78]
mov eax, 0x30317ab2
vandpd xmm0, xmm0, xmmword [0x459200]
vucomisd xmm0, qword [0x459210]
seta byte [esi + 0x13]
jmp 0x41f700
movzx eax, byte [esi + 0x12]
mov edx, 0xec37f467
mov ecx, eax
xor cl, 0xfe
test cl, al
mov eax, 0x4f2c48f7
cmove eax, edx
jmp 0x41f700
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x48]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x24]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.0042fc90
add esp, 0xc
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov ecx, 0xf2e2f79d
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
mov eax, 0x1269e786
cmove eax, ecx
jmp 0x41f700
mov eax, dword [esi + 0x14]
mov ebx, 0xf9e95db0
mov edi, 0x90f1c375
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov eax, dword [0x4b1ff0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x90f1c375
jmp 0x41f6dc
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
add eax, 0x32
push 0
push eax
call fcn.00430700
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x20]
mov ebx, 0x915d8945
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x58], xmm0
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4b23b8]
lea edx, [ecx - 1]
mov eax, dword [eax]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x4b23b4], 0xa
setl dl
or dl, cl
mov ecx, 0x6382b2a5
mov edx, 0x915d8945
cmovne ebx, ecx
mov ecx, 0xed1e6737
cmovne edx, ecx
mov ecx, 0x150ac9d8
nop dword [eax]
cmp ecx, 0xfeb0f67d
jle 0x41fd50
cmp ecx, 0xfeb0f67e
je 0x41fd6a
cmp ecx, 0x6382b2a5
je 0x41fe52
cmp ecx, 0x150ac9d8
jne 0x41fd20
mov dword [esi + 8], eax
mov ecx, 0xfeb0f67e
jmp 0x41fd20
cmp ecx, 0x915d8945
je 0x41fd6e
cmp ecx, 0xed1e6737
jne 0x41fd20
mov ecx, dword [esi + 8]
mov edi, dword [ecx + 0x14]
mov ecx, ebx
jmp 0x41fd20
mov ecx, edx
jmp 0x41fd20
mov ecx, dword [esi + 8]
mov ecx, 0xed1e6737
jmp 0x41fd20
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x20], eax
push eax
mov eax, esp
mov dword [esi + 0x4c], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0xc], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x18], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x24], eax
push eax
mov eax, esp
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, esp
mov dword [esi + 0x50], eax
movzx ecx, byte [ebp + 0x18]
mov eax, dword [esi + 0x20]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x4c]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x14]
mov dword [eax], ecx
mov eax, dword [esi + 0x68]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
call fcn.004014b0
mov eax, dword [esi + 0x40]
mov eax, dword [0x4b1ff0]
mov ebx, 0xd5d44120
mov edi, 0x7a8ac323
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x7a8ac323
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x41f6dc
mov dword [esi + 4], edx
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0xf48af69c
jmp 0x41f700
mov dword [esi + 4], edi
push dword [esi + 4]
push 0x4c
push dword [esi + 0x40]
push dword [esi + 0x54]
call fcn.00430c60
add esp, 0x10
mov edi, eax
mov eax, dword [esi + 0xc]
mov edx, 0xda39841d
mov dword [esi + 0x74], eax
mov eax, dword [0x4b1fe0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4b1fdc], 0xa
setl cl
or cl, al
mov eax, 0xc10aa512
mov ecx, 0x2e5a1101
cmovne eax, ecx
mov ecx, 0xc10aa512
cmovne ecx, edx
mov edx, 0xbe7f4f30
nop word cs:[eax + eax]
cmp edx, 0xda39841c
jle 0x41fef0
cmp edx, 0xda39841d
je 0x41ff0a
cmp edx, 0x2e5a1101
je 0x41ff26
cmp edx, 0x59837c41
jne 0x41fec0
mov edx, ecx
jmp 0x41fec0
cmp edx, 0xbe7f4f30
je 0x41ff16
cmp edx, 0xc10aa512
jne 0x41fec0
mov edx, dword [esi + 8]
mov edx, 0xda39841d
jmp 0x41fec0
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov dword [esi + 4], edx
mov edx, eax
jmp 0x41fec0
mov edx, dword [esi + 0x74]
add edx, 0x10
mov dword [esi + 8], edx
mov edx, 0x59837c41
jmp 0x41fec0
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0xc]
push 0
call fcn.00427260
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x58]
mov ecx, dword [esi + 0x3c]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 0xc], ecx
vmovsd qword [esp + 0x10], xmm0
call fcn.00426540
add esp, 0x18
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
vmovsd xmm0, qword [eax]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.00436210
add esp, 8
mov ecx, 0x2fe6e7d9
mov dword [esi + 4], eax
nop
cmp ecx, 0xbf79a264
je 0x41ff9e
cmp ecx, 0x2fe6e7d9
jne 0x41ff80
cmp dword [esi + 4], 0
mov ecx, 0xbf79a264
setle al
jmp 0x41ff80
and al, 1
mov ecx, 0xc2a3583a
mov byte [esi + 8], al
movzx eax, byte [esi + 8]
mov byte [esi + 0x3c], al
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0xc]
nop word [eax + eax]
cmp ecx, 0xc2a3583a
je 0x41ffd2
cmp ecx, 0x3596fd1c
jne 0x41ffc0
jmp 0x41ffd9
mov ecx, 0x3596fd1c
jmp 0x41ffc0
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
call fcn.0040f400
mov ecx, dword [esi + 0x4c]
lea ebx, [ebp + 0xc]
movsx edx, byte [ecx]
mov ecx, dword [esi + 0x14]
mov edi, dword [ecx]
mov ecx, dword [esi + 0x50]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ebx, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
sub esp, 0x20
vmovsd xmm0, qword [ebx]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
movzx ebx, byte [esi + 0x3c]
mov dword [esp], eax
and ebx, 1
mov dword [esp + 0x1c], ebx
mov ebx, dword [esi + 0x58]
mov dword [esp + 0x18], ebx
call fcn.004321a0
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0xc]
mov dword [esi + 4], eax
mov eax, 0x9a30a867
nop dword [eax]
cmp eax, 0x14834c26
jle 0x420090
cmp eax, 0x14834c27
je 0x4200b1
cmp eax, 0x277f6dd1
je 0x4200ef
cmp eax, 0x7e2e9872
jne 0x420060
jmp 0x42014e
cmp eax, 0x9a30a867
je 0x42013c
cmp eax, 0x1030eb44
jne 0x420060
mov ecx, dword [esi + 4]
call fcn.00409250
mov eax, 0x277f6dd1
jmp 0x420060
mov eax, dword [0x4b2428]
mov edi, 0x277f6dd1
mov ebx, 0x1030eb44
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1030eb44
sete cl
cmove eax, edi
cmp dword [0x4b2424], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x420060
mov ecx, dword [esi + 4]
call fcn.00409250
mov edx, dword [0x4b2428]
mov ecx, dword [0x4b2424]
mov edi, 0x7e2e9872
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, 0x1030eb44
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x420060
mov ecx, dword [esi + 4]
call fcn.00408c50
mov eax, 0x14834c27
jmp 0x420060
mov eax, 0xbd017575
jmp 0x41f700
cmp eax, 0xba9080cb
jne 0x41f700
mov ecx, dword [esi + 0x80]
xor ecx, ebp
call fcn.0043a770
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c