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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov eax, dword [0x4ab2c0]
mov esi, dword [ebp + 0x14]
xor eax, ebp
mov dword [esp + 0xa8], eax
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x90]
call fcn.004011b0
mov ecx, esi
call fcn.0040f940
and eax, 0x3000
mov dword [esp + 0x40], eax
mov eax, 0x923308a5
jmp 0x41f200
mov edx, dword [0x4acfd8]
mov ecx, dword [0x4acfd4]
mov esi, 0xaddc716c
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, 0xa1ca59ee
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
nop word [eax + eax]
cmp eax, 0x25133897
jg 0x41f290
cmp eax, 0xaddc716b
jle 0x41f300
cmp eax, 0xcfcb8dcb
jle 0x41f3da
cmp eax, 0x91ab720
jle 0x41f4e8
cmp eax, 0x91ab721
je 0x41f68b
cmp eax, 0xca7a7ca
je 0x41f6f2
cmp eax, 0x1946fe16
jne 0x41f200
mov edx, dword [0x4acfd8]
mov ecx, dword [0x4acfd4]
mov edi, 0x31898b83
mov esi, 0x96ddc24a
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
cmovne edi, esi
test edx, eax
mov eax, edi
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edi
jmp 0x41f200
cmp eax, 0x4fa42823
jg 0x41f360
cmp eax, 0x3612badd
jg 0x41f42c
cmp eax, 0x2ee109a7
jle 0x41f561
cmp eax, 0x31898b83
je 0x41f70e
cmp eax, 0x33251c98
jne 0x41fd6e
mov edx, dword [0x4acfd8]
mov ecx, dword [0x4acfd4]
mov esi, 0x4fa42824
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, 0xcd79199f
jmp 0x41f1e6
cmp eax, 0x96ddc249
jg 0x41f457
cmp eax, 0x95364b27
jg 0x41f58e
cmp eax, 0x8d0b2252
je 0x41f71d
cmp eax, 0x923308a5
jne 0x41f200
mov eax, dword [0x4acfd8]
mov esi, 0xdb476bf0
mov edi, 0xca7a7ca
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xca7a7ca
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x41f915
cmp eax, 0x6cd81f82
jg 0x41f4ad
cmp eax, 0x5b8ea95d
jg 0x41f5ae
cmp eax, 0x4fa42824
je 0x41f736
cmp eax, 0x590da247
jne 0x41f200
mov edx, dword [0x4acfd8]
mov ecx, dword [0x4acfd4]
vmovsd xmm0, qword [ebp + 0x1c]
mov esi, 0xcfcb8dcc
mov edi, 0x95364b28
lea eax, [edx + 1]
imul eax, edx
vmovsd qword [esp + 0x70], xmm0
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
cmovne esi, edi
test edx, eax
mov eax, esi
cmove eax, edi
cmp ecx, 0xa
cmovge eax, esi
jmp 0x41f200
cmp eax, 0xc4c661c9
jg 0x41f5ce
cmp eax, 0xaddc716c
je 0x41f78e
cmp eax, 0xb5f2a5fd
jne 0x41f200
mov eax, dword [esp + 0x44]
mov ecx, 0x25f74e02
nop word cs:[eax + eax]
cmp ecx, 0x25f74e02
je 0x41f425
cmp ecx, 0x4ec98930
jne 0x41f410
jmp 0x41f8d2
mov ecx, 0x4ec98930
jmp 0x41f410
cmp eax, 0x4812b2cb
jg 0x41f5f4
cmp eax, 0x3612bade
je 0x41f1b7
cmp eax, 0x44bc5e44
jne 0x41f200
mov eax, 0x1946fe16
jmp 0x41f200
cmp eax, 0xa1ca59ed
jg 0x41f621
cmp eax, 0x96ddc24a
je 0x41f8e4
cmp eax, 0x9d48d412
jne 0x41f200
push dword [esp + 0x2c]
push dword [esp + 0x34]
push dword [esp + 0x40]
call fcn.0042e6f0
add esp, 0xc
movzx ecx, byte [esp + 6]
mov dword [esp + 0x34], eax
mov edx, 0x91ab721
mov eax, ecx
xor al, 0xfe
test al, cl
mov eax, 0x5b8ea95e
cmove eax, edx
jmp 0x41f200
cmp eax, 0x785f39da
jg 0x41f641
cmp eax, 0x6cd81f83
je 0x41f932
cmp eax, 0x706ad413
jne 0x41f200
mov dword [esp + 0x38], 0xffffffff
mov eax, 0x9d48d412
mov dword [esp + 0x30], 0xffffffff
jmp 0x41f200
cmp eax, 0xcfcb8dcc
je 0x41f94c
cmp eax, 0xdb476bf0
jne 0x41f200
mov edx, dword [0x4acfd8]
mov ecx, dword [0x4acfd4]
mov esi, 0x44bc5e44
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, 0xca7a7ca
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
mov esi, dword [esp + 0x40]
cmp ecx, 0xa
cmovge eax, edx
cmp esi, 0x2000
mov dword [esp + 0x2c], esi
sete byte [esp + 6]
cmp esi, 0x3000
sete byte [esp + 7]
jmp 0x41f200
cmp eax, 0x25133898
je 0x41f956
cmp eax, 0x2eb33df1
jne 0x41f200
cmp byte [esp + 0x16], 0
mov eax, 0x25133898
mov ecx, 0x706ad413
cmovne eax, ecx
jmp 0x41f200
cmp eax, 0x95364b28
je 0x41f967
cmp eax, 0x95ad4b26
jne 0x41f200
mov eax, 0x2ee109a8
jmp 0x41f200
cmp eax, 0x5b8ea95e
je 0x41f971
cmp eax, 0x637e23c5
jne 0x41f200
mov eax, 0x6cd81f83
jmp 0x41f200
cmp eax, 0xc4c661ca
je 0x41f9af
cmp eax, 0xcd79199f
jne 0x41f200
vmovsd xmm0, qword [esp + 0x58]
mov eax, 0x4fa42824
jmp 0x41f200
cmp eax, 0x4812b2cc
je 0x41f9d6
cmp eax, 0x4d5aaacb
jne 0x41f200
cmp byte [esp + 0x17], 0
mov eax, 0x91ab721
mov ecx, 0x3612bade
cmovne eax, ecx
jmp 0x41f200
cmp eax, 0xa1ca59ee
je 0x41f9f4
cmp eax, 0xa632a198
jne 0x41f200
mov eax, 0x8d0b2252
jmp 0x41f200
cmp eax, 0x785f39db
je 0x41fb32
cmp eax, 0x7a27440f
jne 0x41f200
mov edx, dword [0x4acfd8]
mov ecx, dword [0x4acfd4]
mov esi, 0x785f39db
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, 0xb5f2a5fd
jmp 0x41f1e6
mov eax, dword [esp + 0x34]
lea esi, [esp + 0x90]
mov ecx, esi
add eax, 0x32
push 0
push eax
call fcn.0042ee40
mov ecx, dword [ebp + 0x14]
call fcn.0040f940
push eax
push 0x4c
lea eax, [esp + 0x90]
push eax
push dword [esp + 0x48]
call fcn.0042f180
add esp, 0x10
mov ecx, 0x5b2c9a98
mov edi, eax
mov dword [esp + 0x20], esi
nop dword [eax]
cmp ecx, 0xb255b16a
je 0x41fb5a
cmp ecx, 0x5b2c9a98
jne 0x41f6d0
mov eax, dword [esp + 0x20]
mov ecx, 0xb255b16a
add eax, 0x10
jmp 0x41f6d0
mov eax, dword [esp + 0x40]
cmp eax, 0x2000
mov dword [esp + 0x2c], eax
mov eax, 0xdb476bf0
sete byte [esp + 6]
jmp 0x41f200
movzx eax, byte [esp + 7]
mov eax, 0x96ddc24a
jmp 0x41f200
mov eax, dword [esp + 0x50]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0xc4c661ca
mov dword [esp + 0x54], ecx
jmp 0x41f200
mov edx, dword [0x4acfd8]
mov ecx, dword [0x4acfd4]
mov esi, 0x4d5aaacb
vmovsd xmm0, qword [esp + 0x58]
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, 0xcd79199f
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
vucomisd xmm0, qword [0x457210]
seta byte [esp + 0x17]
jmp 0x41f200
mov eax, dword [0x4acfd0]
mov ecx, dword [0x4acfcc]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0x374ea828
sete byte [esp + 0x84]
cmp ecx, 0xa
setl byte [esp + 0x18]
mov esi, dword [0x4acfd0]
mov edx, dword [0x4acfcc]
mov edi, 0x6dba0de2
lea ecx, [esi + 1]
imul ecx, esi
mov esi, 0x5744e2c1
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
cmovne esi, edi
cmp ecx, 0xffffffff
mov ecx, esi
cmove ecx, edi
cmp edx, 0xa
cmovge ecx, esi
nop dword [eax + eax]
cmp eax, 0x374ea827
jg 0x41f840
cmp eax, 0xba2e0877
je 0x41fb8a
cmp eax, 0xcf9edb62
je 0x41f8a0
cmp eax, 0xf019f697
jne 0x41f800
vmovsd xmm1, qword [ebp + 0x1c]
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], eax
mov eax, ecx
vmovsd qword [esp + 0x20], xmm1
jmp 0x41f800
cmp eax, 0x6dba0de2
je 0x41f889
cmp eax, 0x5744e2c1
je 0x41f893
cmp eax, 0x374ea828
jne 0x41f800
movzx edx, byte [esp + 0x84]
movzx eax, byte [esp + 0x18]
mov edi, 0xf019f697
mov esi, 0x5744e2c1
mov dh, al
xor dh, dl
test al, al
mov eax, 0x5744e2c1
cmovne eax, edi
test dl, dl
cmove eax, esi
test dh, dh
cmovne eax, edi
jmp 0x41f800
mov eax, 0xcf9edb62
jmp 0x41f800
mov eax, 0xf019f697
jmp 0x41f800
mov eax, dword [esp + 0x1c]
vmovsd xmm0, qword [esp + 0x20]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0043ee3b
add esp, 0xc
fstp qword [esp + 0x60]
mov eax, 0xba2e0877
vmovsd xmm0, qword [esp + 0x60]
jmp 0x41f7bb
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov eax, 0x785f39db
jmp 0x41f200
movzx eax, byte [esp + 7]
mov esi, 0x2eb33df1
mov edi, 0x31898b83
not al
or al, 0xfe
cmp al, 0xff
mov eax, dword [0x4acfd8]
setne byte [esp + 0x16]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x31898b83
sete cl
cmove eax, esi
cmp dword [0x4acfd4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, esi
jmp 0x41f200
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
mov eax, 0x9d48d412
jmp 0x41f200
mov eax, 0x590da247
jmp 0x41f200
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x44], eax
mov eax, 0x7a27440f
jmp 0x41f200
mov eax, 0x4812b2cc
jmp 0x41f200
mov eax, dword [0x4acfd8]
mov edi, 0x590da247
mov esi, 0xcfcb8dcc
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xcfcb8dcc
sete cl
cmove eax, edi
cmp dword [0x4acfd4], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, edi
jmp 0x41f200
imul eax, dword [esp + 0x54], 0x7597
mov ecx, 0x14f8b589
imul ecx
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
mov eax, 0x91ab721
add dword [esp + 0x34], edx
jmp 0x41f200
vmovsd xmm0, qword [esp + 0x70]
mov eax, 0x33251c98
vandpd xmm0, xmm0, xmmword [0x457220]
vmovlpd qword [esp + 0x58], xmm0
jmp 0x41f200
mov eax, dword [0x4acfd0]
mov ecx, dword [0x4acfcc]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0x374ea828
sete byte [esp + 0x84]
cmp ecx, 0xa
setl byte [esp + 0x18]
mov esi, dword [0x4acfd0]
mov edx, dword [0x4acfcc]
mov edi, 0x5744e2c1
lea ecx, [esi + 1]
imul ecx, esi
mov esi, ecx
xor esi, 0xfffffffe
test esi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x6dba0de2
cmovne edi, ebx
test esi, ecx
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
nop
cmp eax, 0x374ea827
jg 0x41faa0
cmp eax, 0xba2e0877
je 0x41fbe6
cmp eax, 0xcf9edb62
je 0x41fb00
cmp eax, 0xf019f697
jne 0x41fa60
vmovsd xmm1, qword [ebp + 0x1c]
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], eax
mov eax, ecx
vmovsd qword [esp + 0x20], xmm1
jmp 0x41fa60
cmp eax, 0x6dba0de2
je 0x41fae9
cmp eax, 0x5744e2c1
je 0x41faf3
cmp eax, 0x374ea828
jne 0x41fa60
movzx edx, byte [esp + 0x84]
movzx eax, byte [esp + 0x18]
mov edi, 0xf019f697
mov esi, 0x5744e2c1
mov dh, al
xor dh, dl
test al, al
mov eax, 0x5744e2c1
cmovne eax, edi
test dl, dl
cmove eax, esi
test dh, dh
cmovne eax, edi
jmp 0x41fa60
mov eax, 0xcf9edb62
jmp 0x41fa60
mov eax, 0xf019f697
jmp 0x41fa60
mov eax, dword [esp + 0x1c]
vmovsd xmm0, qword [esp + 0x20]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0043ee3b
add esp, 0xc
fstp qword [esp + 0x68]
mov eax, 0xba2e0877
vmovsd xmm0, qword [esp + 0x68]
jmp 0x41fa21
mov esi, dword [esp + 0x44]
mov eax, 0x25f74e02
nop dword [eax + eax]
cmp eax, 0x25f74e02
je 0x41fb53
cmp eax, 0x4ec98930
jne 0x41fb40
jmp 0x41fbfc
mov eax, 0x4ec98930
jmp 0x41fb40
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ebx, dword [eax]
mov eax, 0xc34574d5
nop dword [eax]
cmp eax, 0xc34574d5
je 0x41fb83
cmp eax, 0x5915e6c6
jne 0x41fb70
jmp 0x41fc55
mov eax, 0x5915e6c6
jmp 0x41fb70
mov edx, dword [0x4acfd8]
mov ecx, dword [0x4acfd4]
vmovsd qword [esp + 8], xmm0
mov esi, 0xa632a198
vmovsd xmm0, qword [esp + 8]
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, 0xa1ca59ee
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
mov esi, dword [esp + 0x80]
cmp ecx, 0xa
cmovge eax, edx
mov dword [esp + 0x50], esi
jmp 0x41f200
vmovsd qword [esp + 8], xmm0
mov eax, 0xaddc716c
vmovsd xmm0, qword [esp + 8]
jmp 0x41f200
mov edi, dword [0x4acfd8]
mov edx, dword [0x4acfd4]
mov dword [esp + 8], esi
lea eax, [edi + 1]
imul eax, edi
mov edi, 0xb5f2a5fd
mov ebx, eax
xor ebx, 0xfffffffe
test ebx, eax
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0x637e23c5
cmovne edi, ecx
test ebx, eax
mov eax, edi
cmove eax, ecx
mov ecx, dword [esp + 8]
cmp edx, 0xa
cmovge eax, edi
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
jmp 0x41f200
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov ecx, dword [esp + 8]
call fcn.00417760
mov ecx, 0x11f31b18
nop
cmp ecx, 0x11f31b18
je 0x41fc82
cmp ecx, 0xd04a51b0
jne 0x41fc70
jmp 0x41fc89
mov ecx, 0xd04a51b0
jmp 0x41fc70
lea ecx, [esp + 0x88]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x84], edi
mov dword [esp + 0x18], ecx
push dword [esp + 0x18]
push 0
push dword [esp + 0x24]
push dword [esp + 0x2c]
push dword [esp + 0x18]
call fcn.0042e2d0
add esp, 0x14
mov edi, eax
mov eax, 0x889a9f54
nop dword [eax + eax]
cmp eax, 0x889a9f54
je 0x41fce0
cmp eax, 0xa9cbd82a
jne 0x41fcd0
jmp 0x41fce7
mov eax, 0xa9cbd82a
jmp 0x41fcd0
vmovsd xmm0, qword [ebp + 0x1c]
vmovsd qword [esp + 8], xmm0
vmovsd xmm0, qword [esp + 8]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.004338a0
add esp, 8
xor ebx, ebx
test eax, eax
lea ecx, [esp + 0x90]
setle bl
call fcn.00419660
lea ecx, [ebp + 0xc]
vmovsd xmm0, qword [ecx]
vmovsd qword [esp + 0x78], xmm0
mov ecx, dword [esp + 0x3c]
sub esp, 0x20
vmovsd xmm0, qword [esp + 0x98]
movsx edx, byte [ebp + 0x18]
mov esi, dword [ebp + 0x14]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], esi
mov dword [esp], edx
call fcn.004303c0
mov eax, 0x95ad4b26
jmp 0x41f200
cmp eax, 0x2ee109a8
jne 0x41f200
lea ecx, [esp + 0x90]
call section..text
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.00438170
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c