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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
mov esi, esp
mov dword [esi + 0x58], ecx
mov eax, dword [0x47e2c0]
xor eax, ebp
mov dword [esi + 0xd0], eax
mov eax, dword [ebp + 0x14]
add eax, 0x14
mov dword [esi + 0x28], eax
mov eax, 0xb06fed95
jmp 0x41ecc0
mov edx, dword [0x47ffe0]
mov ecx, dword [0x47ffdc]
mov edi, 0x1dd0d887
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, 0xf90b9782
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
nop word cs:[eax + eax]
cmp eax, 0xf90b9781
jle 0x41ed20
cmp eax, 0x2a6cc07e
jg 0x41eda0
cmp eax, 0xe83b7bc
jle 0x41ee3f
cmp eax, 0x1a5b6330
jle 0x41f059
cmp eax, 0x1a5b6331
je 0x41f1fd
cmp eax, 0x1dd0d887
je 0x41f250
cmp eax, 0x1e503959
jne 0x41ecc0
mov edx, dword [0x47ffe0]
mov ecx, dword [0x47ffdc]
mov edi, 0xaf61897c
lea eax, [edx + 1]
jmp 0x41ed76
cmp eax, 0xb06fed94
jg 0x41edf0
cmp eax, 0x99d45200
jle 0x41ee77
cmp eax, 0xa8583326
jle 0x41f096
cmp eax, 0xa8583327
je 0x41f38d
cmp eax, 0xabcfae5e
je 0x41f3fd
cmp eax, 0xaf61897c
jne 0x41ecc0
mov edx, dword [0x47ffe0]
mov ecx, dword [0x47ffdc]
mov edi, 0x483c7b56
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, 0x991e15a1
jmp 0x41eca0
cmp eax, 0x4323b20a
jle 0x41efbc
cmp eax, 0x69d2200a
jle 0x41f0c6
cmp eax, 0x69d2200b
je 0x41f413
cmp eax, 0x6c701389
je 0x41f41d
cmp eax, 0x73c245b3
jne 0x41ecc0
cmp byte [esi + 0xa], 0
mov eax, 0xb6f38269
mov ecx, 0x1dfc99e
cmovne eax, ecx
jmp 0x41ecc0
cmp eax, 0xd63e1a27
jle 0x41f020
cmp eax, 0xe6637e04
jle 0x41f0f2
cmp eax, 0xe6637e05
je 0x41f45b
cmp eax, 0xeb6e9c5c
je 0x41f47d
cmp eax, 0xf74e9ccd
jne 0x41ecc0
mov dword [esi + 0x34], 0xffffffff
mov eax, 0x2a6cc07f
mov dword [esi + 0x30], 0xffffffff
jmp 0x41ecc0
cmp eax, 0xfd3dba3d
jle 0x41f11e
cmp eax, 0xfd3dba3e
je 0x41f487
cmp eax, 0x1dfc99e
jne 0x41ffab
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, 0x379b5c94
vmovsd qword [esi + 0x80], xmm0
jmp 0x41ecc0
cmp eax, 0x984da933
jg 0x41f168
cmp eax, 0x8e858a9d
je 0x41f497
cmp eax, 0x94b18ec8
jne 0x41ecc0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x2c], eax
mov eax, 0xf50aec99
vmovsd xmm0, qword [esi + 0x90]
vmovsd qword [esi + 0x68], xmm0
cmp eax, 0xf50aec98
jle 0x41ef10
cmp eax, 0xf50aec99
je 0x41ef8a
cmp eax, 0xf0218df
je 0x41f5f7
cmp eax, 0x2859a666
jne 0x41eeb0
mov eax, dword [0x47ffd8]
mov ebx, 0xec08e513
mov edi, 0xdf3bfd09
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xdf3bfd09
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x47ffd4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41eeb0
cmp eax, 0xdf3bfd09
je 0x41ef94
cmp eax, 0xec08e513
jne 0x41eeb0
sub esp, 0xc
vmovsd xmm0, qword [esi + 0x68]
mov eax, dword [esi + 0x2c]
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00440afb
add esp, 0xc
mov edx, dword [0x47ffd8]
mov ecx, dword [0x47ffd4]
fstp qword [esi + 0x78]
mov edi, 0xf0218df
vmovsd xmm0, qword [esi + 0x78]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
vmovsd qword [esi + 0x70], xmm0
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xdf3bfd09
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x41eeb0
mov eax, 0x2859a666
jmp 0x41eeb0
sub esp, 0xc
vmovsd xmm0, qword [esi + 0x68]
mov eax, dword [esi + 0x2c]
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00440afb
fstp st(0)
add esp, 0xc
mov eax, 0xec08e513
jmp 0x41eeb0
cmp eax, 0x2ff426e5
jg 0x41f188
cmp eax, 0x2a6cc07f
je 0x41f643
cmp eax, 0x2bfcac8f
jne 0x41ecc0
mov edx, dword [0x47ffe0]
mov ecx, dword [0x47ffdc]
mov edi, 0xe83b7bd
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, 0xf74e9ccd
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x41ecc0
cmp eax, 0xb6f38268
jg 0x41f1c0
cmp eax, 0xb06fed95
je 0x41ec71
cmp eax, 0xb370ead3
jne 0x41ecc0
mov ecx, dword [esi + 0x5c]
call fcn.0042f4d0
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
mov eax, 0x1e503959
jmp 0x41ecc0
cmp eax, 0xe83b7bd
je 0x41f68e
cmp eax, 0x16d14579
jne 0x41ecc0
mov eax, dword [0x47ffe0]
mov edi, 0x2bfcac8f
mov ebx, 0xe83b7bd
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xe83b7bd
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x41fbc8
cmp eax, 0x99d45201
je 0x41f698
cmp eax, 0x9f2ba4f1
jne 0x41ecc0
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, dword [esi + 0xc]
mov eax, 0x94b18ec8
vmovsd qword [esi + 0x90], xmm0
jmp 0x41ecc0
cmp eax, 0x4323b20b
je 0x41f6b0
cmp eax, 0x483c7b56
jne 0x41ecc0
mov eax, dword [esi + 0x50]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x54]
mov dword [esi + 0x30], eax
mov eax, 0x2a6cc07f
jmp 0x41ecc0
cmp eax, 0xd63e1a28
je 0x41f6e4
cmp eax, 0xe46456db
jne 0x41ecc0
cmp byte [esi + 9], 0
mov eax, 0xfd3dba3e
mov ecx, 0x16d14579
cmovne eax, ecx
jmp 0x41ecc0
cmp eax, 0xf90b9782
je 0x41f84c
cmp eax, 0xfc8b834f
jne 0x41ecc0
mov edx, dword [0x47ffe0]
mov ecx, dword [0x47ffdc]
mov edi, 0xd63e1a28
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, 0x8e858a9d
jmp 0x41eca0
cmp eax, 0x984da934
je 0x41f973
cmp eax, 0x991e15a1
jne 0x41ecc0
mov eax, 0xaf61897c
jmp 0x41ecc0
cmp eax, 0x2ff426e6
je 0x41f9b0
cmp eax, 0x379b5c94
jne 0x41ecc0
vmovsd xmm0, qword [esi + 0x80]
mov eax, 0xe6637e05
vandpd xmm0, xmm0, xmmword [0x458250]
vmovlpd qword [esi + 0x88], xmm0
jmp 0x41ecc0
cmp eax, 0xb6f38269
je 0x41fa7d
cmp eax, 0xc9bc66fc
jne 0x41ecc0
mov eax, dword [esi + 0x20]
push dword [esi + 0x14]
push dword [esi + 0x24]
mov dword [esi + 0x38], eax
push eax
call fcn.0042f620
add esp, 0xc
mov ecx, dword [esi + 4]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, 0xa8583327
jmp 0x41ecc0
mov eax, dword [esi + 0x40]
mov edi, 0x69d2200b
add eax, dword [esi + 0x44]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov edx, dword [0x47ffe0]
mov ecx, dword [0x47ffdc]
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, 0x99d45201
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0xc]
cmovge eax, edx
jmp 0x41ecc0
push eax
mov eax, esp
mov dword [esi + 4], eax
push eax
mov eax, esp
mov dword [esi + 0xc], eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x1c], eax
mov eax, 0x7d39a130
nop word cs:[eax + eax]
cmp eax, 0x9fedcf6
jle 0x41f2f0
cmp eax, 0x9fedcf7
je 0x41f361
cmp eax, 0x477bcf9f
je 0x41fab9
cmp eax, 0x7d39a130
jne 0x41f280
mov edx, dword [0x480410]
mov ecx, dword [0x48040c]
mov edi, 0x510de85
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, 0x8c15b37a
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x41f280
cmp eax, 0x8c15b37a
je 0x41f36b
cmp eax, 0x510de85
jne 0x41f280
lea eax, [esi + 0xb8]
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0xa0]
sub esp, 4
movzx eax, byte [esi + 0xac]
mov byte [esp], al
call fcn.0040b490
mov eax, dword [0x480410]
mov edi, 0x9fedcf7
mov ebx, 0x8c15b37a
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x8c15b37a
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x48040c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41f280
mov eax, 0x477bcf9f
jmp 0x41f280
sub esp, 4
movzx eax, byte [esi + 0xac]
lea ecx, [esi + 0xb8]
mov byte [esp], al
call fcn.0040b490
mov eax, 0x510de85
jmp 0x41f280
mov eax, dword [esi + 0x20]
push dword [esi + 0x14]
push dword [esi + 0x24]
mov dword [esi + 0x38], eax
push eax
call fcn.0042f620
add esp, 0xc
mov ecx, dword [esi + 4]
mov ecx, dword [esi + 4]
mov edi, 0x73c245b3
mov dword [ecx], eax
mov edx, dword [0x47ffe0]
mov ecx, dword [0x47ffdc]
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, 0xc9bc66fc
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ch, byte [esi + 2]
cmovge eax, edx
mov cl, ch
xor cl, 0xfe
test cl, ch
setne byte [esi + 0xa]
jmp 0x41ecc0
mov eax, dword [esi + 0x3c]
cmp eax, 0x2000
mov eax, 0x984da934
sete byte [esi + 2]
jmp 0x41ecc0
mov eax, 0xb6f38269
jmp 0x41ecc0
mov eax, dword [0x47ffe0]
mov ebx, 0x1a5b6331
mov edi, 0x99d45201
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x99d45201
sete cl
cmove eax, ebx
cmp dword [0x47ffdc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41ecc0
vmovsd xmm0, qword [esi + 0x88]
mov eax, 0xb6f38269
mov ecx, 0x9f2ba4f1
vucomisd xmm0, qword [0x458240]
cmova eax, ecx
jmp 0x41ecc0
mov eax, 0x4323b20b
jmp 0x41ecc0
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x5c], eax
mov eax, 0xb370ead3
jmp 0x41ecc0
lea ecx, [ebp + 0xc]
mov eax, dword [esi + 0x18]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
movzx edx, byte [esi + 3]
mov edi, dword [esi + 0x48]
mov ebx, dword [esi + 0x4c]
sub esp, 0x20
vmovsd xmm0, qword [eax]
movsx eax, byte [ebp + 0x18]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp], edx
call fcn.00431330
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 4]
lea edi, [esi + 0xb8]
mov ecx, edi
call fcn.00409b70
mov eax, 0xe5a891ad
mov dword [esi + 0xa0], edi
nop word cs:[eax + eax]
cmp eax, 0x4ac293fe
jle 0x41f540
cmp eax, 0x4ac293ff
je 0x41f58e
cmp eax, 0x525292ae
je 0x41f5a3
cmp eax, 0x5e3802fb
jne 0x41f510
jmp 0x41fb9d
cmp eax, 0xb4bdb2ff
je 0x41f5ed
cmp eax, 0xe5a891ad
jne 0x41f510
mov eax, dword [0x480420]
mov edi, 0x525292ae
mov ebx, 0x4ac293ff
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x4ac293ff
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x48041c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41f510
mov ecx, dword [esi + 0xa0]
call fcn.0040a210
mov eax, 0x525292ae
jmp 0x41f510
mov ecx, dword [esi + 0xa0]
call fcn.0040a210
mov eax, dword [0x480420]
mov ebx, 0xb4bdb2ff
mov edi, 0x4ac293ff
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x4ac293ff
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x48041c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41f510
mov eax, 0x5e3802fb
jmp 0x41f510
vmovsd xmm0, qword [esi + 0x70]
vmovsd qword [esi + 0xa0], xmm0
vmovsd xmm0, qword [esi + 0xa0]
mov eax, dword [esi + 0xc]
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 + 0x40], eax
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x44], eax
mov eax, 0x6c701389
jmp 0x41ecc0
mov eax, dword [0x47ffe0]
mov ebx, 0xa8583327
mov edi, 0xc9bc66fc
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xc9bc66fc
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x47ffdc], 0xa
setl dl
cmovge eax, edi
mov edi, dword [esi + 0x34]
xor dl, cl
mov edx, dword [esi + 0x30]
cmovne eax, ebx
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], edx
jmp 0x41ecc0
mov eax, 0x2bfcac8f
jmp 0x41ecc0
mov eax, dword [esi + 0x40]
add eax, dword [esi + 0x44]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov eax, 0x1a5b6331
jmp 0x41ecc0
mov edx, dword [0x47ffe0]
mov ecx, dword [0x47ffdc]
mov edi, 0x984da934
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, 0xabcfae5e
jmp 0x41eca0
lea ecx, [ebp + 0xc]
mov eax, dword [esi + 0x18]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
movzx edx, byte [esi + 3]
mov edi, dword [esi + 0x48]
mov ebx, dword [esi + 0x4c]
sub esp, 0x20
vmovsd xmm0, qword [eax]
movsx eax, byte [ebp + 0x18]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp], edx
call fcn.00431330
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 4]
lea edi, [esi + 0xb8]
mov ecx, edi
call fcn.00409b70
mov eax, 0xe5a891ad
mov dword [esi + 0xa0], edi
nop word cs:[eax + eax]
cmp eax, 0x4ac293fe
jle 0x41f790
cmp eax, 0x4ac293ff
je 0x41f7dd
cmp eax, 0x525292ae
je 0x41f7f2
cmp eax, 0x5e3802fb
jne 0x41f760
jmp 0x41fba7
cmp eax, 0xb4bdb2ff
je 0x41f842
cmp eax, 0xe5a891ad
jne 0x41f760
mov eax, dword [0x480420]
mov edi, 0x525292ae
mov ebx, 0x4ac293ff
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x4ac293ff
sete cl
cmove eax, edi
cmp dword [0x48041c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41f760
mov ecx, dword [esi + 0xa0]
call fcn.0040a210
mov eax, 0x525292ae
jmp 0x41f760
mov ecx, dword [esi + 0xa0]
call fcn.0040a210
mov edx, dword [0x480420]
mov ecx, dword [0x48041c]
mov edi, 0xb4bdb2ff
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, 0x4ac293ff
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x41f760
mov eax, 0x5e3802fb
jmp 0x41f760
mov eax, 0x7d39a130
nop word cs:[eax + eax]
cmp eax, 0x9fedcf6
jle 0x41f8d0
cmp eax, 0x9fedcf7
je 0x41f947
cmp eax, 0x477bcf9f
je 0x41fbe5
cmp eax, 0x7d39a130
jne 0x41f860
mov edx, dword [0x480410]
mov ecx, dword [0x48040c]
mov edi, 0x8c15b37a
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, 0x510de85
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x41f860
cmp eax, 0x8c15b37a
je 0x41f951
cmp eax, 0x510de85
jne 0x41f860
lea eax, [esi + 0xb8]
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0xa0]
sub esp, 4
movzx eax, byte [esi + 0xac]
mov byte [esp], al
call fcn.0040b490
mov edx, dword [0x480410]
mov ecx, dword [0x48040c]
mov edi, 0x9fedcf7
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, 0x8c15b37a
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x41f860
mov eax, 0x477bcf9f
jmp 0x41f860
sub esp, 4
movzx eax, byte [esi + 0xac]
lea ecx, [esi + 0xb8]
mov byte [esp], al
call fcn.0040b490
mov eax, 0x510de85
jmp 0x41f860
mov eax, dword [esi + 0x3c]
mov edi, 0xe46456db
mov ebx, 0xabcfae5e
cmp eax, 0x2000
mov eax, dword [0x47ffe0]
sete byte [esi + 2]
cmp dword [esi + 0x14], 0x3000
lea ecx, [eax + 1]
sete byte [esi + 9]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xabcfae5e
jmp 0x41fbc8
mov eax, dword [esi + 0x64]
add eax, 0x14
mov dword [esi + 0xac], eax
mov eax, dword [0x4803b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4803b4], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0xd28c666e
or cl, dl
mov ecx, 0x88b16ae6
mov edx, 0xe5b4f7e8
cmovne eax, ecx
mov ecx, 0xd28c666e
cmovne ecx, edx
mov edx, 0x1186300d
nop word cs:[eax + eax]
cmp edx, 0xd28c666d
jle 0x41fa50
cmp edx, 0xd28c666e
je 0x41fa65
cmp edx, 0x1186300d
je 0x41fa72
cmp edx, 0xe5b4f7e8
jne 0x41fa10
mov edx, dword [esi + 0xac]
mov edx, dword [edx]
mov dword [esi + 0xa0], edx
mov edx, eax
jmp 0x41fa10
cmp edx, 0x88b16ae6
je 0x41fa76
cmp edx, 0xc6638f21
jne 0x41fa10
jmp 0x41fcbd
mov edx, dword [esi + 0xac]
mov edx, 0xe5b4f7e8
jmp 0x41fa10
mov edx, ecx
jmp 0x41fa10
mov edx, 0xc6638f21
jmp 0x41fa10
mov eax, dword [esi + 4]
lea ecx, [esi + 0xb8]
mov eax, dword [eax]
add eax, 0x32
push 0
push eax
call fcn.0042fc90
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x38]
vmovsd xmm0, qword [ebp + 0x1c]
mov dword [esi + 0x60], eax
mov eax, dword [ebp + 0x14]
vmovsd qword [esi + 0x98], xmm0
mov dword [esi + 0x64], eax
mov eax, 0x2ff426e6
jmp 0x41ecc0
mov ecx, dword [esi + 0xa0]
push 0x473906
call fcn.0040f5c0
mov ecx, dword [esi + 0xa0]
call fcn.0040f620
mov eax, dword [esi + 0xa0]
mov eax, dword [esi + 0x28]
mov ecx, dword [0x4803b8]
mov dword [esi + 0xac], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4803b4], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0xd28c666e
not dl
or dl, ch
mov ecx, 0x88b16ae6
test dl, 1
mov edx, 0xe5b4f7e8
cmovne eax, ecx
mov ecx, 0xd28c666e
cmovne ecx, edx
mov edx, 0x1186300d
nop dword [eax + eax]
cmp edx, 0xd28c666d
jle 0x41fb70
cmp edx, 0xd28c666e
je 0x41fb85
cmp edx, 0x1186300d
je 0x41fb92
cmp edx, 0xe5b4f7e8
jne 0x41fb30
mov edx, dword [esi + 0xac]
mov edx, dword [edx]
mov dword [esi + 0xa0], edx
mov edx, eax
jmp 0x41fb30
cmp edx, 0x88b16ae6
je 0x41fb96
cmp edx, 0xc6638f21
jne 0x41fb30
jmp 0x41fd7f
mov edx, dword [esi + 0xac]
mov edx, 0xe5b4f7e8
jmp 0x41fb30
mov edx, ecx
jmp 0x41fb30
mov edx, 0xc6638f21
jmp 0x41fb30
mov eax, 0xd63e1a28
jmp 0x41ecc0
mov eax, dword [0x47ffe0]
mov edi, 0x81bde65
mov ebx, 0x8e858a9d
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x8e858a9d
sete cl
cmove eax, edi
cmp dword [0x47ffdc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41ecc0
mov ecx, dword [esi + 0xa0]
push 0x473906
call fcn.0040f5c0
mov ecx, dword [esi + 0xa0]
call fcn.0040f620
mov eax, dword [esi + 0xa0]
mov eax, dword [esi + 0x28]
mov edx, 0xe5b4f7e8
mov dword [esi + 0xac], eax
mov eax, dword [0x4803b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4803b4], 0xa
setl cl
or cl, al
mov eax, 0xd28c666e
mov ecx, 0x88b16ae6
cmovne eax, ecx
mov ecx, 0xd28c666e
cmovne ecx, edx
mov edx, 0x1186300d
nop
cmp edx, 0xd28c666d
jle 0x41fc90
cmp edx, 0xd28c666e
je 0x41fca5
cmp edx, 0x1186300d
je 0x41fcb2
cmp edx, 0xe5b4f7e8
jne 0x41fc50
mov edx, dword [esi + 0xac]
mov edx, dword [edx]
mov dword [esi + 0xa0], edx
mov edx, eax
jmp 0x41fc50
cmp edx, 0x88b16ae6
je 0x41fcb6
cmp edx, 0xc6638f21
jne 0x41fc50
jmp 0x41fdd3
mov edx, dword [esi + 0xac]
mov edx, 0xe5b4f7e8
jmp 0x41fc50
mov edx, ecx
jmp 0x41fc50
mov edx, 0xc6638f21
jmp 0x41fc50
push dword [esi + 0xa0]
push 0x4c
lea eax, [esi + 0xb0]
push eax
push dword [esi + 0x1c]
call fcn.00430210
add esp, 0x10
mov ecx, dword [0x47ffd0]
mov ebx, eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x47ffcc], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0x423c6ab0
not dl
or dl, ch
mov ecx, 0x864cfd82
test dl, 1
mov edx, 0x9bedf401
cmovne eax, ecx
mov ecx, 0x423c6ab0
cmovne ecx, edx
mov edx, 0xd594a0f9
nop word cs:[eax + eax]
cmp edx, 0xd594a0f8
jle 0x41fd60
cmp edx, 0xd594a0f9
je 0x41fd74
cmp edx, 0x26e23e49
je 0x41fded
cmp edx, 0x423c6ab0
jne 0x41fd30
mov edx, 0x9bedf401
jmp 0x41fd30
cmp edx, 0x864cfd82
je 0x41fd78
cmp edx, 0x9bedf401
jne 0x41fd30
mov edx, eax
jmp 0x41fd30
mov edx, ecx
jmp 0x41fd30
mov edx, 0x26e23e49
jmp 0x41fd30
mov eax, dword [esi + 0xa0]
mov ebx, 0xeb6e9c5c
mov edi, 0xf90b9782
mov edx, eax
xor edx, 0xffffcfff
and edx, eax
mov eax, dword [0x47ffe0]
mov dword [esi + 0x14], edx
mov dword [esi + 0x3c], edx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xf90b9782
sete cl
cmove eax, ebx
cmp dword [0x47ffdc], 0xa
setl ch
cmovge eax, edi
xor ch, cl
cmovne eax, ebx
jmp 0x41ecc0
mov ecx, dword [esi + 0xa0]
mov eax, 0x3000
and ecx, eax
mov eax, 0x1dd0d887
mov dword [esi + 0x14], ecx
jmp 0x41ecc0
lea eax, [esi + 0xc8]
lea ecx, [esi + 0xb8]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0xa0]
mov edi, dword [eax]
push 0
call fcn.004276c0
vmovsd xmm0, qword [esi + 0x98]
mov ecx, dword [esi + 0x60]
sub esp, 0x18
vmovsd qword [esp + 0x10], xmm0
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004268a0
add esp, 0x18
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, 0x311196dc
nop word cs:[eax + eax]
cmp eax, 0x6a5c115c
je 0x41ff4a
cmp eax, 0x311196dc
jne 0x41fe50
mov eax, 0x3e03e1a3
nop word [eax + eax]
cmp eax, 0xbbd2e847
jle 0x41fec0
cmp eax, 0xbbd2e848
je 0x41fed0
cmp eax, 0x4bf38518
je 0x41fee6
cmp eax, 0x3e03e1a3
jne 0x41fe70
vmovsd xmm0, qword [ebp + 0x1c]
lea eax, [esi + 0xa0]
vmovsd qword [esi + 0xa0], xmm0
push eax
call fcn.00440c59
add esp, 4
cwde
mov dword [esi + 0xac], eax
mov eax, 0x4bf38518
jmp 0x41fe70
cmp eax, 0x874264ee
je 0x41ff2b
cmp eax, 0xa5d3e2c0
jne 0x41fe70
jmp 0x41ff35
mov edx, dword [0x47ffc8]
mov ecx, dword [0x47ffc4]
mov edi, 0xa5d3e2c0
lea eax, [edx + 1]
jmp 0x41fefa
mov edx, dword [0x47ffc8]
mov ecx, dword [0x47ffc4]
mov edi, 0xbbd2e848
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, 0x874264ee
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x41fe70
mov eax, 0xbbd2e848
jmp 0x41fe70
cmp dword [esi + 0xac], 0
mov eax, 0x6a5c115c
setle byte [esi + 0xb]
jmp 0x41fe50
movzx eax, byte [esi + 0xb]
mov ecx, 0x288e067e
mov byte [esi + 3], al
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x48], eax
lea eax, [esi + 0xb8]
mov dword [esi + 0xac], eax
nop word [eax + eax]
cmp ecx, 0x9f6e86ec
je 0x41ff92
cmp ecx, 0x288e067e
jne 0x41ff70
mov ecx, dword [esi + 0xac]
call fcn.0040f800
mov ecx, 0x9f6e86ec
jmp 0x41ff70
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x4c], eax
mov eax, 0xfc8b834f
jmp 0x41ecc0
cmp eax, 0x81bde65
jne 0x41ecc0
mov ecx, dword [esi + 0xd0]
xor ecx, ebp
call fcn.00439dc0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c