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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x64], ecx
mov eax, dword [0x4ad2c0]
xor eax, ebp
mov dword [esi + 0x90], eax
mov eax, 0x631fc734
jmp 0x41dfa0
mov eax, dword [0x4af020]
mov ebx, 0x32aa19f
mov edi, 0xb72a2e3
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xb72a2e3
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4af01c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
nop word cs:[eax + eax]
cmp eax, 0x32aa19e
jle 0x41e0c0
cmp eax, 0x25f54f3f
jle 0x41e150
cmp eax, 0x526671a2
jle 0x41e1e6
cmp eax, 0x631fc733
jle 0x41e2d7
cmp eax, 0x78421b35
je 0x41e4ed
cmp eax, 0x75caf66a
je 0x41df58
cmp eax, 0x631fc734
jne 0x41dfa0
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 + 0x10], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x40], 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 + 0x18], 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 + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x50], eax
movzx ecx, byte [ebp + 0x18]
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 + 0x64]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x10]
mov eax, 0x19097841
nop word cs:[eax + eax]
cmp eax, 0x98f2e3b
je 0x41e4fa
cmp eax, 0x19097841
jne 0x41e070
mov dword [esi], edi
mov ecx, dword [esi]
sub esp, 4
movzx eax, byte [esi + 0x8c]
mov byte [esp], al
call fcn.0040a510
mov ecx, dword [esi]
push 0x4a2290
call fcn.0040f520
mov ecx, dword [esi]
call fcn.0040f580
mov eax, 0x98f2e3b
jmp 0x41e070
cmp eax, 0xd4d4db46
jle 0x41e1b0
cmp eax, 0xf3909225
jle 0x41e21d
cmp eax, 0xf85eba02
jle 0x41e313
cmp eax, 0xf85eba03
je 0x41e50c
cmp eax, 0xfa6bd94e
jne 0x41eb1f
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
add eax, 0x32
push 0
push eax
call fcn.0042e240
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x24]
mov ecx, 0x97dc2d60
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
nop word cs:[eax + eax]
cmp ecx, 0x97dc2d60
je 0x41e145
cmp ecx, 0x12cfa0a4
jne 0x41e130
jmp 0x41e532
mov ecx, 0x12cfa0a4
jmp 0x41e130
cmp eax, 0x128744df
jg 0x41e26c
cmp eax, 0xc1e1c64
jg 0x41e392
cmp eax, 0x32aa19f
je 0x41e5f6
cmp eax, 0xb72a2e3
jne 0x41dfa0
mov eax, dword [esi + 0x14]
mov ecx, 0x97dc2d60
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
nop dword [eax]
cmp ecx, 0x97dc2d60
je 0x41e1a5
cmp ecx, 0x12cfa0a4
jne 0x41e190
jmp 0x41e62c
mov ecx, 0x12cfa0a4
jmp 0x41e190
cmp eax, 0xaeb4a796
jg 0x41e297
cmp eax, 0x9a85198f
jg 0x41e3c2
cmp eax, 0x8677e9e8
je 0x41e673
cmp eax, 0x970f55c6
jne 0x41dfa0
mov eax, 0xee1e21e
jmp 0x41dfa0
cmp eax, 0x2e9fc36a
jg 0x41e40c
cmp eax, 0x25f54f40
je 0x41e6c3
cmp eax, 0x2775eee7
jne 0x41dfa0
cmp byte [esi + 0x1c], 0
mov eax, 0x25f54f40
mov ecx, 0xe110b52b
cmovne eax, ecx
jmp 0x41dfa0
cmp eax, 0xe110b52a
jg 0x41e438
cmp eax, 0xd4d4db47
je 0x41e6f7
cmp eax, 0xdd65a449
jne 0x41dfa0
mov eax, dword [esi + 0x14]
mov edi, 0x1cde9442
mov ebx, 0xcd403480
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov eax, dword [0x4af020]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xcd403480
jmp 0x41e75a
cmp eax, 0x1e36137e
jg 0x41e481
cmp eax, 0x128744e0
je 0x41e722
cmp eax, 0x1cde9442
jne 0x41dfa0
mov eax, 0xa2ab5d03
jmp 0x41dfa0
cmp eax, 0xcb559a57
jg 0x41e4ca
cmp eax, 0xaeb4a797
je 0x41e738
cmp eax, 0xb69261ce
jne 0x41dfa0
mov eax, dword [0x4af020]
mov ebx, 0x9750ec
mov edi, 0x526671a3
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x526671a3
jmp 0x41df72
cmp eax, 0x526671a3
je 0x41e777
cmp eax, 0x62428cdf
jne 0x41dfa0
vmovsd xmm0, qword [esi + 0x80]
mov eax, 0x128744e0
vandpd xmm0, xmm0, xmmword [0x456200]
vucomisd xmm0, qword [0x456210]
seta byte [esi + 0x1d]
jmp 0x41dfa0
cmp eax, 0xf3909226
je 0x41e781
cmp eax, 0xf6e57593
jne 0x41dfa0
mov eax, dword [esi + 0x2c]
sub esp, 0xc
vmovsd xmm0, qword [ebp + 0x1c]
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0042e0b0
fstp st(0)
add esp, 0xc
mov eax, dword [esi + 0x2c]
mov ebx, 0x970f55c6
mov edi, 0xd4d4db47
mov eax, dword [eax]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0xa7c5ac5
imul edx, ecx, 0x7597
shr edx, 5
mulx eax, eax, eax
shr eax, 7
mov dword [esi + 0x70], eax
mov eax, dword [0x4af020]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xd4d4db47
jmp 0x41df7a
cmp eax, 0xc1e1c65
je 0x41e811
cmp eax, 0xee1e21e
jne 0x41dfa0
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
add eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov eax, dword [esi + 0x2c]
mov eax, 0xfa6bd94e
jmp 0x41dfa0
cmp eax, 0x9a851990
je 0x41e856
cmp eax, 0xa2ab5d03
jne 0x41dfa0
mov ecx, dword [esi + 0x6c]
mov edx, 0xe7222903
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
nop word cs:[eax + eax]
cmp edx, 0xe7222903
je 0x41e405
cmp edx, 0x20ea9980
jne 0x41e3f0
jmp 0x41e899
mov edx, 0x20ea9980
jmp 0x41e3f0
cmp eax, 0x2e9fc36b
je 0x41e8b3
cmp eax, 0x4cc7e8bd
jne 0x41dfa0
mov eax, dword [esi + 0x58]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x44], eax
mov eax, 0x8677e9e8
jmp 0x41dfa0
cmp eax, 0xe110b52b
je 0x41e8bd
cmp eax, 0xe6653aa7
jne 0x41dfa0
mov edx, dword [0x4af020]
mov ecx, dword [0x4af01c]
mov edi, 0xd4d4db47
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, 0xf6e57593
jmp 0x41e884
cmp eax, 0x1e36137f
je 0x41e8d5
cmp eax, 0x24dc27bb
jne 0x41dfa0
mov eax, dword [0x4af020]
vmovsd xmm0, qword [ebp + 0x1c]
mov ebx, 0x2e9fc36b
mov edi, 0xcb559a58
lea ecx, [eax + 1]
imul ecx, eax
vmovsd qword [esi + 0x80], xmm0
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xcb559a58
jmp 0x41df7a
cmp eax, 0xcb559a58
je 0x41e8df
cmp eax, 0xcd403480
jne 0x41dfa0
mov eax, dword [esi + 0x14]
mov eax, 0xdd65a449
jmp 0x41dfa0
mov eax, dword [esi + 0x2c]
mov eax, 0xe6653aa7
jmp 0x41dfa0
mov eax, dword [esi]
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0xc]
mov eax, 0x75caf66a
jmp 0x41dfa0
mov eax, dword [0x4af020]
mov ebx, 0x4cc7e8bd
mov edi, 0x1e36137f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1e36137f
jmp 0x41df7a
mov dword [esi], eax
push dword [esi]
push 0x4c
push dword [esi + 0x40]
push dword [esi + 0x54]
call fcn.0042e670
add esp, 0x10
mov edi, eax
mov eax, dword [esi + 0x10]
mov ebx, 0x56eab8cb
mov dword [esi + 0x8c], eax
mov eax, dword [0x4af018]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4af014], 0xa
setl cl
or cl, al
mov eax, 0xd055c2b4
mov ecx, 0x56eab8cb
cmovne ebx, eax
mov eax, 0x24c55289
cmovne ecx, eax
mov eax, 0x1687b172
nop word cs:[eax + eax]
cmp eax, 0x24c55288
jle 0x41e5d0
cmp eax, 0x7d42c0d8
je 0x41e8e9
cmp eax, 0x56eab8cb
je 0x41e5e2
cmp eax, 0x24c55289
jne 0x41e5a0
mov edx, dword [esi + 0x8c]
mov eax, ebx
jmp 0x41e5a0
cmp eax, 0xd055c2b4
je 0x41e5ef
cmp eax, 0x1687b172
jne 0x41e5a0
mov eax, ecx
jmp 0x41e5a0
mov eax, dword [esi + 0x8c]
mov eax, 0x24c55289
jmp 0x41e5a0
mov eax, 0x7d42c0d8
jmp 0x41e5a0
mov eax, dword [esi + 0x14]
mov ecx, 0x97dc2d60
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
nop word cs:[eax + eax]
cmp ecx, 0x97dc2d60
je 0x41e625
cmp ecx, 0x12cfa0a4
jne 0x41e610
jmp 0x41e94a
mov ecx, 0x12cfa0a4
jmp 0x41e610
mov dword [esi], eax
mov eax, dword [esi]
mov ecx, eax
xor ecx, 0xffffcfff
and ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
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 + 0x18]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x18]
sete byte [eax]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x18]
mov eax, 0x32aa19f
jmp 0x41dfa0
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 + 0x34]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x24]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.0042da30
add esp, 0xc
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov ecx, 0xfa6bd94e
mov eax, dword [esi + 0x20]
cmp byte [eax], 0
mov eax, 0xc1e1c65
cmove eax, ecx
jmp 0x41dfa0
mov edx, dword [0x4af020]
mov ecx, dword [0x4af01c]
mov edi, 0xdd65a449
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, 0xcd403480
jmp 0x41e840
mov eax, dword [esi + 0x2c]
sub esp, 0xc
vmovsd xmm0, qword [ebp + 0x1c]
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0042e0b0
fstp st(0)
add esp, 0xc
mov eax, dword [esi + 0x2c]
mov eax, 0xf6e57593
jmp 0x41dfa0
cmp byte [esi + 0x1d], 0
mov eax, 0xfa6bd94e
mov ecx, 0x78421b35
cmovne eax, ecx
jmp 0x41dfa0
mov eax, dword [0x4af020]
mov edi, 0xb69261ce
mov ebx, 0x526671a3
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x526671a3
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4af01c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41dfa0
mov eax, 0xb69261ce
jmp 0x41dfa0
lea ecx, [ebp + 0xc]
mov eax, dword [esi + 0x50]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x30], ecx
movzx edx, byte [esi + 0x1e]
mov edi, dword [esi + 0x74]
mov ebx, dword [esi + 0x78]
movsx ecx, byte [esi + 0x1f]
mov dword [esi + 0x68], ecx
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x3c], ecx
sub esp, 0x20
vmovsd xmm0, qword [eax]
mov ecx, dword [ebp + 8]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
mov eax, dword [esi + 0x68]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x30]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
call fcn.0042fcb0
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x10]
call section..text
mov eax, dword [esi + 0x10]
mov eax, 0xaeb4a797
jmp 0x41dfa0
mov edx, dword [0x4af020]
mov ecx, dword [0x4af01c]
mov edi, 0x24dc27bb
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, 0xcb559a58
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x41dfa0
mov edx, dword [0x4af020]
mov ecx, dword [0x4af01c]
mov edi, 0x1e36137f
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, 0xf85eba03
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x41dfa0
mov dword [esi + 4], ecx
mov dword [esi], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ecx
mov eax, 0x9a851990
jmp 0x41dfa0
mov eax, 0x62428cdf
jmp 0x41dfa0
mov dword [esi + 0x48], 0xffffffff
mov eax, 0x8677e9e8
mov dword [esi + 0x44], 0xffffffff
jmp 0x41dfa0
mov eax, 0xf85eba03
jmp 0x41dfa0
mov eax, 0x24dc27bb
jmp 0x41dfa0
mov dword [esi], edx
mov eax, dword [esi]
mov ebx, dword [eax + 0x10]
mov ecx, dword [esi + 0x10]
push 0
call fcn.00424850
sub esp, 0x18
vmovsd xmm0, qword [ebp + 0x1c]
mov ecx, dword [esi + 0x30]
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.00423ab0
add esp, 0x18
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
mov eax, 0x6167de03
nop dword [eax]
cmp eax, 0x6167de03
je 0x41e943
cmp eax, 0xe07c7b2f
jne 0x41e930
jmp 0x41e9d3
mov eax, 0xe07c7b2f
jmp 0x41e930
mov dword [esi], eax
mov edi, 0x2775eee7
mov eax, dword [esi]
mov ecx, eax
xor ecx, 0xffffcfff
and ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
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 + 0x18]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x18]
sete byte [eax]
mov edx, dword [0x4af020]
mov ecx, dword [0x4af01c]
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, 0xb72a2e3
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x18]
cmovge eax, edx
cmp byte [edi], 0
setne byte [esi + 0x1c]
jmp 0x41dfa0
vmovsd xmm0, qword [ebp + 0x1c]
vmovsd qword [esi], xmm0
vmovsd xmm0, qword [esi]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.00433e90
add esp, 8
test eax, eax
setle byte [esi + 0x1e]
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov eax, 0xecb29c37
nop dword [eax]
cmp eax, 0xecb29c36
jle 0x41ea40
cmp eax, 0x1f86dea3
je 0x41ea53
cmp eax, 0xf8b6209f
je 0x41eaa6
cmp eax, 0xecb29c37
jne 0x41ea10
mov eax, dword [esi + 0x30]
mov dword [esi + 0x8c], eax
mov eax, 0x807c8075
jmp 0x41ea10
cmp eax, 0x807c8075
je 0x41eabb
cmp eax, 0xa6f6a7e1
jne 0x41ea10
jmp 0x41eafa
mov ecx, dword [esi + 0x8c]
call fcn.0040f890
mov edx, dword [0x4af118]
mov dword [esi + 0x3c], eax
mov ecx, dword [0x4af114]
mov edi, 0xa6f6a7e1
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, 0xf8b6209f
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x41ea10
mov ecx, dword [esi + 0x8c]
call fcn.0040f890
mov eax, 0x1f86dea3
jmp 0x41ea10
mov eax, dword [0x4af118]
mov ebx, 0x1f86dea3
mov edi, 0xf8b6209f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xf8b6209f
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4af114], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41ea10
mov eax, dword [esi + 0x3c]
mov dword [esi], eax
mov eax, dword [esi]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x4c]
movzx eax, byte [eax]
mov byte [esi + 0x1f], al
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x7c], eax
mov eax, 0xf3909226
jmp 0x41dfa0
cmp eax, 0x9750ec
jne 0x41dfa0
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.00437ee0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c