Function at 0x41eee0
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 + 0x70], ecx
mov eax, dword [0x4a12c0]
xor eax, ebp
mov dword [esi + 0x90], eax
mov eax, dword [0x4a3008]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [0x4a3004]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x30683a73
sete byte [esi + 0x14]
cmp eax, 0xa
setl byte [esi + 0x15]
jmp 0x41ef80
cmp ecx, 0x30683a73
je 0x41f439
cmp ecx, 0x3c10d691
jne 0x41ef80
mov eax, dword [0x4a3008]
mov ebx, 0xef2e4054
mov edi, 0x6e031539
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x6e031539
sete al
cmove ecx, ebx
cmp dword [0x4a3004], 0xa
setl dl
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
nop dword [eax + eax]
cmp ecx, 0xcd296ef
jle 0x41efd0
cmp ecx, 0x40c8e05c
jg 0x41f030
cmp ecx, 0x22d7a2a8
jg 0x41f0f0
cmp ecx, 0xee8ae6e
jg 0x41f21e
cmp ecx, 0xcd296f0
je 0x41f463
cmp ecx, 0xcf0a7d0
jne 0x41ef80
mov eax, dword [esi + 0x34]
mov ecx, 0x9a16fd6c
jmp 0x41ef80
cmp ecx, 0xcedec37b
jle 0x41f070
cmp ecx, 0xef2e4053
jg 0x41f13b
cmp ecx, 0xe7207092
jg 0x41f24c
cmp ecx, 0xcedec37c
je 0x41f492
cmp ecx, 0xe25cf346
jne 0x41ef80
mov eax, dword [esi + 0x40]
movzx ecx, byte [esi + 0x16]
mov byte [eax], cl
mov ecx, 0x8dbb8314
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x40]
cmp byte [eax], 0
mov eax, 0xe7207093
cmove ecx, eax
jmp 0x41ef80
cmp ecx, 0x621c25f6
jg 0x41f192
cmp ecx, 0x51d8a218
jg 0x41f2a3
cmp ecx, 0x40c8e05d
je 0x41f49c
cmp ecx, 0x417ad1cc
jne 0x41ef80
mov ecx, 0xb2138f87
jmp 0x41ef80
cmp ecx, 0xb2138f86
jg 0x41f1e4
cmp ecx, 0x97166a5e
jg 0x41f311
cmp ecx, 0x8dbb8314
je 0x41f4ce
cmp ecx, 0x9269bb48
jne 0x41ef80
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x28]
mov dword [eax], ecx
mov ecx, dword [esi + 0x50]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x30]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.0042f3d0
add esp, 0xc
mov ecx, dword [esi + 0x44]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov ecx, 0xee8ae6f
mov eax, dword [esi + 0x3c]
cmp byte [eax], 0
mov eax, 0xcd296f0
cmove ecx, eax
jmp 0x41ef80
cmp ecx, 0x30683a72
jg 0x41ef2b
cmp ecx, 0x22d7a2a9
je 0x41f4e6
cmp ecx, 0x2453881e
jne 0x41ef80
mov eax, dword [0x4a3008]
mov ebx, 0x22d7a2a9
mov edi, 0x40c8e05d
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x40c8e05d
jmp 0x41ef60
cmp ecx, 0xfec3d3b6
jg 0x41f368
cmp ecx, 0xef2e4054
je 0x41f549
cmp ecx, 0xfe8e2bda
jne 0x41ef80
mov edx, dword [0x4a3008]
mov eax, dword [0x4a3004]
mov edi, 0x18a4bf7c
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xfec3d3b7
jmp 0x41f6c0
cmp ecx, 0x6e031538
jg 0x41f401
cmp ecx, 0x621c25f7
je 0x41f5a6
cmp ecx, 0x6c5f5d58
jne 0x41ef80
mov eax, dword [esi + 0x1c]
mov ebx, 0xcb8be502
mov edi, 0x97166a5f
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov eax, dword [0x4a3008]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x97166a5f
jmp 0x41ef60
cmp ecx, 0xc448c373
jg 0x41f423
cmp ecx, 0xb2138f87
je 0x41f5c1
cmp ecx, 0xb6c1e7a9
jne 0x41ef80
mov eax, dword [esi + 0x68]
mov ecx, 0x9269bb48
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x50], eax
jmp 0x41ef80
cmp ecx, 0xee8ae6f
je 0x41f674
cmp ecx, 0x18a4bf7c
jne 0x41ef80
cmp byte [esi + 0x17], 0
mov ecx, 0xcd296f0
mov eax, 0xcf0a7d0
cmovne ecx, eax
jmp 0x41ef80
cmp ecx, 0xe7207093
je 0x41f692
cmp ecx, 0xecf401f8
jne 0x41ef80
mov eax, dword [0x4a3008]
mov edi, 0xfe8e2bda
mov ebx, 0xfec3d3b7
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xfec3d3b7
sete al
cmove ecx, edi
cmp dword [0x4a3004], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
jmp 0x41ef80
cmp ecx, 0x51d8a219
je 0x41f6d6
cmp ecx, 0x5bcf3168
jne 0x41ef80
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
call fcn.0040fbd0
push eax
push 0x4c
push dword [esi + 0x4c]
push dword [esi + 0x60]
call fcn.00430650
add esp, 0x10
mov ebx, eax
mov eax, dword [esi + 8]
mov ecx, 0x7023846f
mov dword [esi + 0x24], eax
nop word cs:[eax + eax]
cmp ecx, 0x9dbe4c7
je 0x41f6e0
cmp ecx, 0x7023846f
jne 0x41f2f0
mov eax, dword [esi + 0x24]
mov ecx, 0x9dbe4c7
mov eax, dword [eax + 0x10]
jmp 0x41f2f0
cmp ecx, 0x97166a5f
je 0x41f7eb
cmp ecx, 0x9a16fd6c
jne 0x41ef80
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [eax]
mov eax, dword [esi + 0x34]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0042fe10
fstp st(0)
add esp, 0xc
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, eax
neg ecx
cmovs ecx, eax
imul eax, ecx, 0x7597
mov ecx, 0x2453881e
mov dword [esi + 0x38], eax
jmp 0x41ef80
cmp ecx, 0xfec3d3b7
je 0x41f7f8
cmp ecx, 0x6579f02
jne 0x41ef80
push eax
push eax
mov eax, esp
mov dword [esi + 0x5c], eax
mov ecx, dword [ebp + 8]
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, dword [esi + 0x74]
mov dword [eax], ecx
movzx ecx, byte [ebp + 0x18]
mov eax, dword [esi + 0x2c]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x54]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x70]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 8]
mov eax, dword [esi + 8]
mov dword [esi + 0x8c], eax
mov eax, 0x4823a8d2
nop dword [eax]
cmp eax, 0x1a4cbcd7
je 0x41f802
cmp eax, 0x4823a8d2
jne 0x41f3d0
mov ecx, dword [esi + 0x8c]
sub esp, 4
movzx eax, byte [esi + 0x88]
mov byte [esp], al
call fcn.0040aa10
mov eax, 0x1a4cbcd7
jmp 0x41f3d0
cmp ecx, 0x6e031539
je 0x41f855
cmp ecx, 0x78db0d7e
jne 0x41ef80
mov ecx, 0xcd296f0
jmp 0x41ef80
cmp ecx, 0xcb8be502
jne 0x41f961
mov ecx, 0x3c10d691
jmp 0x41ef80
movzx eax, byte [esi + 0x14]
movzx ecx, byte [esi + 0x15]
mov edi, 0xb2138f87
mov edx, eax
xor dl, cl
mov edx, 0x417ad1cc
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x41ef80
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi + 8]
add eax, 0x32
push 0
push eax
call fcn.00430100
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x2c]
mov ecx, 0x5bcf3168
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x80], xmm0
jmp 0x41ef80
mov ecx, 0x6579f02
jmp 0x41ef80
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov eax, 0x14f8b589
mov ecx, 0x22d7a2a9
imul dword [esi + 0x38]
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
mov eax, dword [esi + 0xc]
add edx, dword [eax]
mov eax, dword [esi + 0xc]
mov dword [eax], edx
mov eax, dword [esi + 0x34]
jmp 0x41ef80
mov dword [esi + 0x28], 0xffffffff
mov ecx, 0x9269bb48
mov dword [esi + 0x50], 0xffffffff
jmp 0x41ef80
mov eax, 0x14f8b589
mov edi, 0x78db0d7e
imul dword [esi + 0x38]
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
mov eax, dword [esi + 0xc]
add edx, dword [eax]
mov eax, dword [esi + 0xc]
mov dword [eax], edx
mov edx, dword [0x4a3008]
mov eax, dword [0x4a3004]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x40c8e05d
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esi + 0x34]
cmovge ecx, edx
jmp 0x41ef80
mov ecx, dword [esi + 0x64]
call fcn.0042f290
mov edi, dword [0x4a3008]
mov ebx, dword [0x4a3004]
mov dword [esi + 4], eax
mov dword [esi + 0x18], edx
mov edx, 0x51d8a219
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl ah
xor ah, al
mov eax, 0x6e031539
cmovne eax, edx
test edi, ecx
mov edi, dword [esi + 4]
mov ecx, eax
cmove ecx, edx
cmp ebx, 0xa
mov ebx, dword [esi + 0x18]
cmovge ecx, eax
mov dword [esi + 0x68], edi
mov dword [esi + 0x6c], ebx
jmp 0x41ef80
vmovsd xmm0, qword [esi + 0x78]
mov ecx, 0xecf401f8
vucomisd xmm0, qword [0x459210]
seta byte [esi + 0x17]
jmp 0x41ef80
push eax
mov eax, esp
mov dword [esi + 0x74], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x2c], eax
push eax
mov eax, esp
mov dword [esi + 0x54], eax
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x58], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 8], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x4c], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x40], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
push eax
mov eax, esp
mov dword [esi + 0xc], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov edi, dword [0x4a3008]
mov edx, dword [0x4a3004]
mov eax, 0xcedec37c
mov dword [esi + 4], esp
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x417ad1cc
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
mov edx, dword [esi + 4]
cmovge ecx, ebx
mov dword [esi + 0x48], edx
jmp 0x41ef80
mov eax, dword [esi + 0x2c]
mov ecx, 0x621c25f7
vmovsd xmm0, qword [eax]
vandpd xmm0, xmm0, xmmword [0x459220]
vmovlpd qword [esi + 0x78], xmm0
jmp 0x41ef80
mov edx, dword [0x4a3008]
mov eax, dword [0x4a3004]
mov edi, 0x6c5f5d58
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x97166a5f
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x41ef80
mov ecx, 0xb6c1e7a9
jmp 0x41ef80
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
mov ecx, dword [esi + 8]
push 0
call fcn.00426570
mov dword [esi + 0x18], eax
mov eax, 0xa1c62558
vmovsd xmm0, qword [esi + 0x80]
mov dword [esi + 0x8c], ebx
nop dword [eax]
cmp eax, 0xa15da0b
jle 0x41f740
cmp eax, 0xa15da0c
je 0x41f75e
cmp eax, 0x6f1b23e4
je 0x41f77e
cmp eax, 0x70439a36
jne 0x41f710
jmp 0x41f867
cmp eax, 0xa1c62558
je 0x41f7d8
cmp eax, 0xc2ef3ed6
jne 0x41f710
mov eax, dword [0x4a3010]
mov ebx, 0x6f1b23e4
jmp 0x41f7a4
push dword [esi + 0x24]
push 0
push dword [esi + 0x8c]
push dword [esi + 4]
push dword [esi + 0x18]
call fcn.0042ef40
add esp, 0x14
mov eax, 0x6f1b23e4
jmp 0x41f710
push dword [esi + 0x24]
push 0
push dword [esi + 0x8c]
push dword [esi + 4]
push dword [esi + 0x18]
call fcn.0042ef40
add esp, 0x14
mov dword [esi + 0x10], eax
mov eax, dword [0x4a3010]
mov ebx, 0x70439a36
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xa15da0c
sete cl
cmove eax, ebx
cmp dword [0x4a300c], 0xa
mov edi, 0xa15da0c
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41f710
lea eax, [esi + 0x90]
mov dword [esi + 0x24], eax
mov eax, 0xc2ef3ed6
jmp 0x41f710
mov eax, dword [esi + 0x1c]
mov ecx, 0x6c5f5d58
jmp 0x41ef80
mov ecx, 0xfe8e2bda
jmp 0x41ef80
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 0x10]
mov dword [esi + 0x24], ecx
mov ecx, 0xa54f07b0
nop dword [eax]
cmp ecx, 0xd76e2436
je 0x41f903
cmp ecx, 0xa54f07b0
jne 0x41f820
mov ecx, dword [esi + 0x24]
mov dword [ecx], 0
mov dword [eax + 0x14], 0xf
mov byte [esi + 0x8b], 0
mov dword [esi + 0x10], eax
mov ecx, 0xd76e2436
jmp 0x41f820
mov ecx, dword [esi + 0x64]
call fcn.0042f290
mov ecx, 0xef2e4054
jmp 0x41ef80
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [eax]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.00434160
add esp, 8
mov byte [esi + 4], al
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 8]
call fcn.00419520
mov ecx, dword [esi + 0x54]
mov edi, eax
lea eax, [ebp + 0xc]
movsx edx, byte [ecx]
mov ecx, dword [esi + 0x1c]
mov ebx, dword [ecx]
mov ecx, dword [esi + 0x5c]
vmovsd xmm0, qword [eax]
vmovsd qword [ecx], xmm0
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x60]
sub esp, 0x20
vmovsd xmm0, qword [eax]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], ebx
movzx eax, byte [esi + 4]
mov dword [esp], edx
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0x18], eax
call fcn.00431c20
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x30]
mov ecx, 0xc448c374
jmp 0x41ef80
lea eax, [esi + 0x8b]
push eax
push dword [esi + 0x10]
call fcn.00409dc0
add esp, 8
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x4c]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
call fcn.0040fbd0
mov ecx, dword [esi + 0x20]
and eax, 0x3000
mov dword [ecx], eax
mov ecx, 0xe25cf346
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x20]
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x3c]
sete byte [eax]
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x20]
cmp dword [eax], 0x3000
sete byte [esi + 0x16]
jmp 0x41ef80
cmp ecx, 0xc448c374
jne 0x41ef80
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x4c]
mov eax, dword [esi + 8]
mov dword [esi + 0x28], eax
mov eax, 0xbc7af574
nop word cs:[eax + eax]
cmp eax, 0x1fc136a5
jle 0x41fa00
cmp eax, 0x1fc136a6
je 0x41fa6d
cmp eax, 0x4c4e52be
je 0x41fa18
cmp eax, 0x5bd84e7f
jne 0x41f990
mov eax, dword [esi + 0x28]
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
call fcn.004093e0
mov eax, dword [0x4a3410]
mov ebx, 0xf31118c8
mov edi, 0x4c4e52be
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x4c4e52be
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4a340c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41f990
cmp eax, 0xbc7af574
je 0x41fa2a
cmp eax, 0xf31118c8
jne 0x41f990
mov eax, 0x1fc136a6
jmp 0x41f990
mov ecx, dword [esi + 0x28]
call fcn.004093e0
mov eax, 0x5bd84e7f
jmp 0x41f990
mov edx, dword [0x4a3410]
mov ecx, dword [0x4a340c]
mov edi, 0x5bd84e7f
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, 0x4c4e52be
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x41f990
mov ecx, dword [esi + 0x10]
call fcn.00409890
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.0043a0c0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c