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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov esi, esp
mov dword [esi + 0x64], ecx
mov eax, dword [0x4ae2c0]
xor eax, ebp
mov dword [esi + 0x98], eax
mov eax, 0x55ff0ab2
jmp 0x41e7f0
cmp eax, 0x558e88bb
je 0x41ecdb
cmp eax, 0x55ff0ab2
jne 0x41e7f0
mov edx, dword [0x4afff0]
mov ecx, dword [0x4affec]
mov edi, 0x64ac562d
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, 0xe3a724df
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
nop word [eax + eax]
cmp eax, 0xf468603a
jle 0x41e870
cmp eax, 0x558e88ba
jg 0x41e910
cmp eax, 0x23fe785d
jg 0x41e9cb
cmp eax, 0xfe8ecef3
jle 0x41eaef
cmp eax, 0xfe8ecef4
je 0x41ed05
cmp eax, 0x802da2d
je 0x41ee2c
cmp eax, 0x1a43d491
jne 0x41e7f0
mov edx, dword [0x4afff0]
mov ecx, dword [0x4affec]
mov edi, 0xe03ba4d9
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, 0x3f7fcb10
jmp 0x41e7d9
cmp eax, 0xb6c6bfb7
jg 0x41e960
cmp eax, 0x9bbf1ddb
jle 0x41ea02
cmp eax, 0xa1368383
jle 0x41eb0f
cmp eax, 0xa1368384
je 0x41ee6f
cmp eax, 0xa67c24c1
je 0x41ee81
cmp eax, 0xaf4d0005
jne 0x41e7f0
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x6c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x68]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.0042f210
add esp, 0xc
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov ecx, 0x9a06e940
mov eax, dword [esi + 0x38]
cmp byte [eax], 0
mov eax, 0xc8993ae9
cmove eax, ecx
jmp 0x41e7f0
cmp eax, 0x657f970f
jle 0x41ea4c
cmp eax, 0x6fc18a43
jle 0x41eb3d
cmp eax, 0x6fc18a44
je 0x41ee97
cmp eax, 0x7351d06c
je 0x41eef0
cmp eax, 0x73963ed9
jne 0x41e7f0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x80], eax
mov eax, 0x23fe785e
jmp 0x41e7f0
cmp eax, 0xd4414f71
jle 0x41eac1
cmp eax, 0xe0fde6c4
jle 0x41eb5d
cmp eax, 0xe0fde6c5
je 0x41ef2f
cmp eax, 0xe3a724df
je 0x41f037
cmp eax, 0xf1b30b18
jne 0x41e7f0
mov edx, dword [0x4afff0]
mov ecx, dword [0x4affec]
mov edi, 0xe0fde6c5
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, 0xfe8ecef4
jmp 0x41e7d9
cmp eax, 0x3f7fcb0f
jle 0x41ec1c
cmp eax, 0x3f7fcb10
je 0x41f041
cmp eax, 0x4a784a1a
jne 0x41f594
mov eax, dword [esi + 0x70]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x74]
mov dword [esi + 0x68], eax
mov eax, 0xaf4d0005
jmp 0x41e7f0
cmp eax, 0x906674c1
jg 0x41ec3c
cmp eax, 0x89e76f29
je 0x41f0ac
cmp eax, 0x8fba7e62
jne 0x41e7f0
mov eax, 0x14f8b589
imul dword [esi + 0x84]
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
mov eax, dword [esi + 0x14]
add edx, dword [eax]
mov eax, dword [esi + 0x14]
mov dword [eax], edx
mov eax, 0xb9f49913
jmp 0x41e7f0
cmp eax, 0x591fd6cf
jle 0x41e798
cmp eax, 0x591fd6d0
je 0x41f127
cmp eax, 0x64ac562d
jne 0x41e7f0
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xc], eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
push eax
mov eax, esp
mov dword [esi + 0x48], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 4], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x4c], eax
mov eax, dword [0x4afff0]
mov ebx, 0x30e8a749
mov edi, 0xe3a724df
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe3a724df
jmp 0x41ef12
cmp eax, 0xbf8dab72
jg 0x41ecac
cmp eax, 0xb6c6bfb8
je 0x41f13d
cmp eax, 0xb9f49913
jne 0x41e7f0
mov eax, dword [esi + 0x28]
mov eax, 0x9a06e940
jmp 0x41e7f0
cmp eax, 0xf468603b
je 0x41f169
cmp eax, 0xf48bf711
jne 0x41e7f0
mov eax, 0x7351d06c
jmp 0x41e7f0
cmp eax, 0x9bbf1ddc
je 0x41f173
cmp eax, 0x9e2978a3
jne 0x41e7f0
mov dword [esi + 0x6c], 0xffffffff
mov eax, 0xaf4d0005
mov dword [esi + 0x68], 0xffffffff
jmp 0x41e7f0
cmp eax, 0x657f9710
je 0x41f185
cmp eax, 0x677bd038
jne 0x41e7f0
mov eax, 0x8fba7e62
jmp 0x41e7f0
cmp eax, 0xd4414f72
je 0x41f1cd
cmp eax, 0xe03ba4d9
jne 0x41e7f0
push eax
mov eax, esp
mov dword [esi + 0x20], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], 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 + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0x2c], 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 + 0xc]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x44]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
call fcn.00401350
mov eax, dword [esi + 0x4c]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x10]
mov ecx, 0x17a035ed
mov eax, dword [eax]
nop word [eax + eax]
cmp ecx, 0x17a035ed
je 0x41ec15
cmp ecx, 0x9c5aa105
jne 0x41ec00
jmp 0x41f1e2
mov ecx, 0x9c5aa105
jmp 0x41ec00
cmp eax, 0x23fe785e
je 0x41f251
cmp eax, 0x30e8a749
jne 0x41e7f0
mov eax, 0x1a43d491
jmp 0x41e7f0
cmp eax, 0x906674c2
je 0x41f26c
cmp eax, 0x9a06e940
jne 0x41e7f0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add eax, 0x32
push 0
push eax
call fcn.0042fb40
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
mov ecx, 0x17a035ed
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x58], xmm0
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
nop word cs:[eax + eax]
cmp ecx, 0x17a035ed
je 0x41eca5
cmp ecx, 0x9c5aa105
jne 0x41ec90
jmp 0x41f299
mov ecx, 0x9c5aa105
jmp 0x41ec90
cmp eax, 0xbf8dab73
je 0x41f3b8
cmp eax, 0xc8993ae9
jne 0x41e7f0
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov eax, 0x802da2d
vmovsd qword [esi + 0x88], xmm0
jmp 0x41e7f0
mov ecx, dword [esi + 4]
call section..text
mov eax, dword [esi + 4]
mov eax, dword [0x4afff0]
mov ebx, 0x4a700e74
mov edi, 0xd4414f72
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xd4414f72
jmp 0x41ef0a
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.00433be0
add esp, 8
mov byte [esi + 0x34], al
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x18], eax
mov eax, 0x7245b9cd
nop word cs:[eax + eax]
cmp eax, 0x2a084ce6
jle 0x41edb0
cmp eax, 0x2a084ce7
je 0x41ee10
cmp eax, 0x7fca7b3a
je 0x41ee22
cmp eax, 0x7245b9cd
jne 0x41ed40
mov edx, dword [0x4b0120]
mov ecx, dword [0x4b011c]
mov edi, 0xebf654a2
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bh
cmp ecx, 0xa
setl bl
xor bl, bh
mov ebx, 0x2a084ce7
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x41ed40
cmp eax, 0x9372bde5
je 0x41f40e
cmp eax, 0xebf654a2
jne 0x41ed40
mov ecx, dword [esi + 0x18]
call fcn.0040ee00
mov dword [esi + 0x30], eax
mov eax, dword [0x4b0120]
mov ebx, 0x7fca7b3a
mov edi, 0x2a084ce7
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x2a084ce7
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4b011c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41ed40
mov ecx, dword [esi + 0x18]
call fcn.0040ee00
mov eax, 0xebf654a2
jmp 0x41ed40
mov eax, 0x9372bde5
jmp 0x41ed40
mov edx, dword [0x4afff0]
mov ecx, dword [0x4affec]
mov edi, 0xa1368384
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, 0xbf8dab73
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x41e7f0
vmovsd xmm0, qword [esi + 0x88]
mov eax, 0xbf8dab73
jmp 0x41e7f0
cmp byte [esi + 0x1d], 0
mov eax, 0x9a06e940
mov ecx, 0x657f9710
cmovne eax, ecx
jmp 0x41e7f0
mov edx, dword [0x4afff0]
mov ecx, dword [0x4affec]
mov edi, 0xa67c24c1
vmovsd xmm0, qword [esi + 0x90]
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, 0x9bbf1ddc
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
vucomisd xmm0, qword [0x458210]
seta byte [esi + 0x1d]
jmp 0x41e7f0
mov eax, dword [0x4afff0]
mov ebx, 0x6fc18a44
mov edi, 0x9bbf1ddc
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x9bbf1ddc
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4affec], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41e7f0
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.00433be0
add esp, 8
mov byte [esi + 0x34], al
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x18], eax
mov eax, 0x7245b9cd
nop dword [eax]
cmp eax, 0x2a084ce6
jle 0x41efc0
cmp eax, 0x2a084ce7
je 0x41f01b
cmp eax, 0x7fca7b3a
je 0x41f02d
cmp eax, 0x7245b9cd
jne 0x41ef60
mov eax, dword [0x4b0120]
mov edi, 0xebf654a2
mov ebx, 0x2a084ce7
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x2a084ce7
sete cl
cmove eax, edi
cmp dword [0x4b011c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41ef60
cmp eax, 0x9372bde5
je 0x41f485
cmp eax, 0xebf654a2
jne 0x41ef60
mov ecx, dword [esi + 0x18]
call fcn.0040ee00
mov dword [esi + 0x30], eax
mov eax, dword [0x4b0120]
mov ebx, 0x7fca7b3a
mov edi, 0x2a084ce7
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x2a084ce7
sete cl
cmove eax, ebx
cmp dword [0x4b011c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41ef60
mov ecx, dword [esi + 0x18]
call fcn.0040ee00
mov eax, 0xebf654a2
jmp 0x41ef60
mov eax, 0x9372bde5
jmp 0x41ef60
mov eax, 0x64ac562d
jmp 0x41e7f0
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, dword [esi + 0xc]
movzx ecx, byte [ebp + 0x18]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x44]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
call fcn.00401350
mov eax, dword [esi + 0x4c]
mov eax, dword [esi + 0x10]
mov ecx, 0x17a035ed
mov eax, dword [eax]
nop word cs:[eax + eax]
cmp ecx, 0x17a035ed
je 0x41f0a5
cmp ecx, 0x9c5aa105
jne 0x41f090
jmp 0x41f537
mov ecx, 0x9c5aa105
jmp 0x41f090
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov eax, dword [esi + 0x28]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0042fab0
fstp st(0)
add esp, 0xc
mov edx, dword [0x4afff0]
mov ecx, dword [0x4affec]
mov edi, 0x906674c2
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, 0x677bd038
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x28]
cmovge eax, edi
mov ecx, dword [ecx]
mov edx, ecx
neg edx
cmovs edx, ecx
imul ecx, edx, 0x7597
mov dword [esi + 0x84], ecx
jmp 0x41e7f0
cmp byte [esi + 0x1c], 0
mov eax, 0x73963ed9
mov ecx, 0x9e2978a3
cmovne eax, ecx
jmp 0x41e7f0
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x4c]
mov eax, dword [0x4afff0]
mov edi, 0x558e88bb
mov ebx, 0xd4414f72
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xd4414f72
jmp 0x41f3f1
mov eax, 0xb6c6bfb8
jmp 0x41e7f0
vmovsd xmm0, qword [esi + 0x90]
mov eax, 0x6fc18a44
jmp 0x41e7f0
mov edx, dword [0x4afff0]
mov ecx, dword [0x4affec]
mov edi, 0x89e76f29
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, 0x906674c2
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x28]
cmovge eax, edx
jmp 0x41e7f0
mov ecx, dword [esi + 4]
call section..text
mov eax, dword [esi + 4]
mov eax, 0x558e88bb
jmp 0x41e7f0
mov dword [esi + 8], eax
mov edi, 0x591fd6d0
mov ebx, 0x3f7fcb10
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x14]
mov ecx, eax
xor ecx, 0xffffcfff
and ecx, eax
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x20]
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x38]
sete byte [eax]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x20]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x3c]
sete byte [eax]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x3c]
cmp byte [eax], 0
mov eax, dword [0x4afff0]
lea ecx, [eax + 1]
setne byte [esi + 0x1c]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x3f7fcb10
jmp 0x41f3f1
mov ecx, dword [esi + 0x80]
call fcn.0042efc0
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov eax, 0x4a784a1a
jmp 0x41e7f0
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov eax, dword [esi + 0x28]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0042fab0
fstp st(0)
add esp, 0xc
mov eax, dword [esi + 0x28]
mov eax, 0x89e76f29
jmp 0x41e7f0
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
push dword [eax + 0x14]
push 0x4c
push dword [esi + 0x4c]
push dword [esi + 0x54]
call fcn.00430180
add esp, 0x10
mov dword [esi + 0x30], eax
mov edi, 0x1c5ecd72
mov ebx, 0x390a2001
mov eax, dword [esi + 4]
mov ecx, dword [0x4affe8]
lea edx, [ecx + 1]
mov dword [esi + 0x7c], eax
mov eax, 0x1c5ecd72
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ecx, dword [0x4affe4]
sete byte [esi + 0x1e]
cmove edi, ebx
sete dl
cmp ecx, 0xa
setl cl
cmovge edi, eax
setl byte [esi + 0x1f]
xor cl, dl
mov ecx, 0x8224c619
cmovne edi, ebx
nop word cs:[eax + eax]
cmp ecx, 0x1c5ecd71
jg 0x41f340
cmp ecx, 0x8224c619
je 0x41f368
cmp ecx, 0xa02b5ab0
je 0x41f397
cmp ecx, 0xfbf2dbfb
jne 0x41f310
jmp 0x41f547
cmp ecx, 0x1c5ecd72
je 0x41f3a4
cmp ecx, 0x390a2001
je 0x41f3ae
cmp ecx, 0x753de6ae
jne 0x41f310
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x10]
mov ecx, 0xfbf2dbfb
mov dword [esi + 0x78], eax
jmp 0x41f310
movzx ebx, byte [esi + 0x1e]
movzx ecx, byte [esi + 0x1f]
mov edx, 0xa02b5ab0
mov eax, 0x1c5ecd72
mov bh, cl
xor bh, bl
test cl, cl
mov ecx, 0x1c5ecd72
cmovne ecx, edx
test bl, bl
cmove ecx, eax
test bh, bh
cmovne ecx, edx
jmp 0x41f310
mov eax, dword [esi + 0x7c]
mov ecx, edi
mov dword [esi + 0x18], eax
jmp 0x41f310
mov ecx, 0xa02b5ab0
jmp 0x41f310
mov ecx, 0x753de6ae
jmp 0x41f310
vmovsd xmm0, qword [esi + 0x88]
mov eax, dword [0x4afff0]
mov edi, 0xf48bf711
mov ebx, 0xa1368384
vandpd xmm0, xmm0, xmmword [0x458220]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
vmovlpd qword [esi + 0x90], xmm0
test eax, ecx
mov eax, 0xa1368384
sete cl
cmove eax, edi
cmp dword [0x4affec], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41e7f0
mov eax, dword [esi + 0x30]
lea ebx, [ebp + 0xc]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x44]
movsx edx, byte [ecx]
mov ecx, dword [esi + 0x10]
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 + 0x34]
mov dword [esp], eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esi + 0x58]
mov dword [esp + 0x18], ebx
call fcn.00431310
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov eax, 0xe0fde6c5
jmp 0x41e7f0
mov eax, dword [esi + 0x30]
lea ebx, [ebp + 0xc]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x44]
movsx edx, byte [ecx]
mov ecx, dword [esi + 0x10]
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 + 0x34]
mov dword [esp], eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esi + 0x58]
mov dword [esp + 0x18], ebx
call fcn.00431310
mov edx, dword [0x4afff0]
mov ecx, dword [0x4affec]
mov edi, 0xf468603b
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, 0xfe8ecef4
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x2c]
mov ecx, dword [esi + 0x14]
mov ecx, dword [esi + 0x40]
mov ecx, dword [esi + 0x24]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
cmovge eax, edx
jmp 0x41e7f0
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, 0xe03ba4d9
jmp 0x41e7f0
mov eax, dword [esi + 0x78]
mov dword [esi + 8], eax
mov edi, dword [esi + 8]
mov ecx, dword [esi + 4]
push 0
call fcn.00425a00
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x58]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
vmovsd qword [esp + 0x10], xmm0
call fcn.00424d90
add esp, 0x18
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov eax, 0xf1b30b18
jmp 0x41e7f0
cmp eax, 0x4a700e74
jne 0x41e7f0
mov ecx, dword [esi + 0x98]
xor ecx, ebp
call fcn.00438f90
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c