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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd0
mov esi, esp
mov dword [esi + 0x9c], ecx
mov eax, dword [0x4a92c0]
xor eax, ebp
mov dword [esi + 0xc8], eax
mov eax, dword [0x4ab008]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [0x4ab004]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x29]
cmp eax, 0xa
mov eax, 0xe472e49e
setl byte [esi + 0x2a]
jmp 0x41fbf0
mov eax, dword [0x4ab008]
mov ebx, 0xd6ab3ff8
mov edi, 0x16ad7407
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x16ad7407
sete cl
cmove eax, ebx
cmp dword [0x4ab004], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
nop word [eax + eax]
cmp eax, 0xd6ab3ff7
jle 0x41fc60
cmp eax, 0x2b78f51c
jg 0x41fdc0
cmp eax, 0x4f1eefd
jg 0x41ff54
cmp eax, 0xe4a4e93f
jg 0x4200ac
cmp eax, 0xd6ab3ff8
je 0x4201dc
cmp eax, 0xe472e49e
jne 0x41fbf0
movzx ecx, byte [esi + 0x29]
movzx eax, byte [esi + 0x2a]
mov edi, 0x68db3c50
mov edx, ecx
xor dl, al
mov edx, 0x171ea4a1
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x41fbf0
cmp eax, 0xa487fafc
jg 0x41ff10
cmp eax, 0x8da87710
jle 0x41ffad
cmp eax, 0x98406ab2
jg 0x4200cc
cmp eax, 0x8da87711
je 0x42022f
cmp eax, 0x93a004b1
jne 0x41fbf0
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x58], ecx
movzx edx, byte [esi + 2]
mov edi, dword [esi + 0x84]
mov ebx, dword [esi + 0x88]
movsx ecx, byte [esi + 3]
mov dword [esi + 0x64], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x14], 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 + 0x64]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x58]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
call fcn.00432eb0
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x54]
mov ebx, dword [esi + 4]
mov ecx, dword [0x4ab410]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4ab40c], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0x25f25fae
not dl
or dl, ch
mov ecx, 0x1662829e
test dl, 1
mov edx, 0x4fd052a1
cmovne eax, ecx
mov ecx, 0x25f25fae
cmovne ecx, edx
mov edx, 0xd788de97
nop dword [eax + eax]
cmp edx, 0x25f25fad
jle 0x41fd90
cmp edx, 0x25f25fae
je 0x41fda7
cmp edx, 0x2ee6eb87
je 0x42024d
cmp edx, 0x4fd052a1
jne 0x41fd60
mov edx, eax
jmp 0x41fd60
cmp edx, 0xd788de97
je 0x41fdae
cmp edx, 0x1662829e
jne 0x41fd60
mov edx, 0x2ee6eb87
jmp 0x41fd60
mov edx, 0x4fd052a1
jmp 0x41fd60
mov edx, ecx
jmp 0x41fd60
cmp eax, 0x3f51d4ac
jle 0x41ffe4
cmp eax, 0x68db3c4f
jg 0x420103
cmp eax, 0x3f51d4ad
je 0x420268
cmp eax, 0x5b9209e0
jne 0x41fbf0
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x58], ecx
movzx edx, byte [esi + 2]
mov edi, dword [esi + 0x84]
mov ebx, dword [esi + 0x88]
movsx ecx, byte [esi + 3]
mov dword [esi + 0x64], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x14], 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 + 0x64]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x58]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
call fcn.00432eb0
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x54]
mov ebx, dword [esi + 4]
mov eax, dword [0x4ab410]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
cmp dword [0x4ab40c], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x25f25fae
or cl, dl
mov ecx, 0x1662829e
mov edx, 0x4fd052a1
cmovne eax, ecx
mov ecx, 0x25f25fae
cmovne ecx, edx
mov edx, 0xd788de97
nop
cmp edx, 0x25f25fad
jle 0x41fee0
cmp edx, 0x25f25fae
je 0x41fef7
cmp edx, 0x2ee6eb87
je 0x4202bc
cmp edx, 0x4fd052a1
jne 0x41feb0
mov edx, eax
jmp 0x41feb0
cmp edx, 0xd788de97
je 0x41fefe
cmp edx, 0x1662829e
jne 0x41feb0
mov edx, 0x2ee6eb87
jmp 0x41feb0
mov edx, 0x4fd052a1
jmp 0x41feb0
mov edx, ecx
jmp 0x41feb0
cmp eax, 0xbdaf7c9d
jle 0x42004a
cmp eax, 0xcff49507
jg 0x420169
cmp eax, 0xbdaf7c9e
je 0x4202ec
cmp eax, 0xbf9b434e
jne 0x41fbf0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
add eax, 0x32
mov dword [esi + 0xac], eax
mov eax, 0x3f51d4ad
jmp 0x41fbf0
cmp eax, 0x171ea4a0
jle 0x42019b
cmp eax, 0x171ea4a1
je 0x420301
cmp eax, 0x2af4c3ae
jne 0x41fbf0
mov eax, dword [esi + 0xa8]
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 + 0x20], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
mov eax, 0x2b78f51d
jmp 0x41fbf0
cmp eax, 0x81fbd0f5
je 0x42030b
cmp eax, 0x83955ab0
je 0x420315
cmp eax, 0x8d42c383
jne 0x41fbf0
cmp byte [esi + 0x2b], 0
mov eax, 0xbf9b434e
mov ecx, 0x98406ab3
cmovne eax, ecx
jmp 0x41fbf0
cmp eax, 0x2b78f51d
je 0x41fbae
cmp eax, 0x2e8e6ade
je 0x42032d
cmp eax, 0x3e3f5809
jne 0x41fbf0
mov edx, dword [0x4ab008]
mov ecx, dword [0x4ab004]
mov edi, 0x5b9209e0
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, 0x93a004b1
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x41fbf0
cmp eax, 0xa487fafd
je 0x4203ac
cmp eax, 0xaeb0220f
je 0x4203b6
cmp eax, 0xaefa2254
jne 0x41fbf0
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x68], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0xa0]
mov dword [eax], ecx
mov eax, 0x2e8e6ade
jmp 0x41fbf0
cmp eax, 0xe4a4e940
je 0x420472
cmp eax, 0xe6c9042e
jne 0x41fbf0
mov eax, 0xbf9b434e
jmp 0x41fbf0
cmp eax, 0x98406ab3
je 0x4204d3
cmp eax, 0x9d135cc7
jne 0x41fbf0
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [eax]
mov eax, 0x8da87711
vandpd xmm0, xmm0, xmmword [0x459250]
vmovlpd qword [esi + 0xc0], xmm0
jmp 0x41fbf0
cmp eax, 0x68db3c50
je 0x420514
cmp eax, 0x6b764fcf
jne 0x41fbf0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x78]
mov dword [eax], ecx
mov ecx, dword [esi + 0x74]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x30]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.004305d0
add esp, 0xc
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov ecx, 0xbf9b434e
mov eax, dword [esi + 0x38]
cmp byte [eax], 0
mov eax, 0x9d135cc7
cmove eax, ecx
jmp 0x41fbf0
cmp eax, 0xcff49508
je 0x420588
cmp eax, 0xd2a0e4c1
jne 0x41fbf0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x74], eax
mov eax, 0x6b764fcf
jmp 0x41fbf0
cmp eax, 0x16ad7407
jne 0x4208c5
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
add eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 0x1c]
mov eax, 0xd6ab3ff8
jmp 0x41fbf0
mov eax, dword [esi + 0x20]
mov edi, 0xe6c9042e
add eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov edx, dword [0x4ab008]
mov ecx, dword [0x4ab004]
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, 0x16ad7407
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x1c]
cmovge eax, edx
jmp 0x41fbf0
vmovsd xmm0, qword [esi + 0xc0]
mov eax, 0x8d42c383
vucomisd xmm0, qword [0x459240]
seta byte [esi + 0x2b]
jmp 0x41fbf0
mov ecx, ebx
call fcn.0040ade0
mov ecx, ebx
call fcn.0040b3c0
mov eax, dword [esi + 4]
mov eax, 0x5b9209e0
jmp 0x41fbf0
mov ecx, dword [esi + 4]
push 0
push dword [esi + 0xac]
call fcn.00431120
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x2c]
mov ecx, 0x252e1848
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x58], xmm0
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
add eax, 0x14
nop dword [eax]
cmp ecx, 0x252e1848
je 0x4202b5
cmp ecx, 0x11b4a965
jne 0x4202a0
jmp 0x4205e3
mov ecx, 0x11b4a965
jmp 0x4202a0
mov ecx, ebx
call fcn.0040ade0
mov ecx, ebx
call fcn.0040b3c0
mov eax, dword [esi + 4]
mov eax, dword [0x4ab008]
mov ebx, 0x4f1eefe
mov edi, 0x93a004b1
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x93a004b1
jmp 0x42057b
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 0xa4], eax
mov eax, 0xaeb0220f
jmp 0x41fbf0
mov eax, 0x68db3c50
jmp 0x41fbf0
mov eax, 0xaefa2254
jmp 0x41fbf0
mov dword [esi + 0x78], 0xffffffff
mov eax, 0x6b764fcf
mov dword [esi + 0x74], 0xffffffff
jmp 0x41fbf0
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, dword [esi + 0x2c]
movzx ecx, byte [ebp + 0x18]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x7c]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x34]
mov dword [eax], ecx
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
call fcn.00401530
mov eax, dword [esi + 0x54]
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x34]
mov ecx, 0x252e1848
mov eax, dword [eax]
add eax, 0x14
nop word cs:[eax + eax]
cmp ecx, 0x252e1848
je 0x4203a5
cmp ecx, 0x11b4a965
jne 0x420390
jmp 0x42062c
mov ecx, 0x11b4a965
jmp 0x420390
mov eax, 0x2af4c3ae
jmp 0x41fbf0
mov eax, dword [esi + 0xa4]
mov ecx, dword [0x4ab000]
mov edi, 0x147b55a1
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete dl
cmp dword [0x4aaffc], 0xa
setge ch
setl dh
or ch, cl
xor dh, dl
xor ch, 1
or ch, dh
mov ecx, 0x2e5e6b97
mov edx, 0xc449ea4
cmovne ecx, edx
mov edx, 0x2e5e6b97
cmovne edx, edi
add eax, 0x18
mov edi, 0x5b80c472
nop dword [eax]
cmp edi, 0x29d0b260
jle 0x420440
cmp edi, 0x29d0b261
je 0x420464
cmp edi, 0x2e5e6b97
je 0x420468
cmp edi, 0x5b80c472
jne 0x420410
mov dword [esi + 0x48], eax
mov edi, 0x29d0b261
jmp 0x420410
cmp edi, 0xc449ea4
je 0x42067f
cmp edi, 0x147b55a1
jne 0x420410
mov edi, dword [esi + 0x48]
vmovsd xmm0, qword [edi]
mov edi, ecx
vmovsd qword [esi + 8], xmm0
jmp 0x420410
mov edi, edx
jmp 0x420410
mov edi, dword [esi + 0x48]
mov edi, 0x147b55a1
jmp 0x420410
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [eax]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x70], eax
mov eax, 0x2211060f
vmovsd qword [esi + 0x48], xmm0
nop dword [eax]
cmp eax, 0x84a9218d
je 0x42069b
cmp eax, 0x2211060f
jne 0x420490
mov eax, dword [esi + 0x70]
vmovsd xmm0, qword [esi + 0x48]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00441644
add esp, 0xc
fstp qword [esi + 0xb0]
mov eax, 0x84a9218d
vmovsd xmm0, qword [esi + 0xb0]
jmp 0x420490
mov eax, dword [esi + 0x1c]
mov eax, dword [0x4ab008]
mov edi, 0xe4a4e940
mov ebx, 0xcff49508
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xcff49508
sete cl
cmove eax, edi
cmp dword [0x4ab004], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41fbf0
push eax
mov eax, esp
mov dword [esi + 0xa0], 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 + 0x7c], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x80], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 4], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x54], eax
push eax
mov eax, esp
mov dword [esi + 0x18], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
mov eax, dword [0x4ab008]
mov ebx, 0x81fbd0f5
mov edi, 0x171ea4a1
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x171ea4a1
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x41fbcf
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [eax]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x70], eax
mov eax, 0x2211060f
vmovsd qword [esi + 0x48], xmm0
nop
cmp eax, 0x84a9218d
je 0x4206f5
cmp eax, 0x2211060f
jne 0x4205a0
mov eax, dword [esi + 0x70]
vmovsd xmm0, qword [esi + 0x48]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00441644
add esp, 0xc
fstp qword [esi + 0xb8]
mov eax, 0x84a9218d
vmovsd xmm0, qword [esi + 0xb8]
jmp 0x4205a0
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
push dword [eax]
push 0x4c
push dword [esi + 0x54]
push dword [esi + 0x6c]
call fcn.00431740
add esp, 0x10
mov ebx, eax
mov eax, dword [esi + 4]
mov ecx, 0x14d9d6e6
nop word cs:[eax + eax]
cmp ecx, 0x14d9d6e6
je 0x420625
cmp ecx, 0x9ef58684
jne 0x420610
jmp 0x42070c
mov ecx, 0x9ef58684
jmp 0x420610
mov dword [esi + 8], eax
mov ecx, 0x3000
mov eax, dword [esi + 8]
mov eax, dword [eax]
and eax, ecx
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov ecx, 0xbdaf7c9e
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x18]
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x38]
sete byte [eax]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x18]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x3c]
sete byte [eax]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x3c]
cmp byte [eax], 0
mov eax, 0x83955ab0
cmove eax, ecx
jmp 0x41fbf0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], ecx
mov eax, 0xd2a0e4c1
jmp 0x41fbf0
mov edx, dword [0x4ab008]
mov ecx, dword [0x4ab004]
mov edi, 0xa487fafd
vmovsd qword [esi + 8], xmm0
vmovsd xmm0, qword [esi + 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, 0xcff49508
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x1c]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0xa8], ecx
jmp 0x41fbf0
vmovsd qword [esi + 8], xmm0
vmovsd xmm0, qword [esi + 8]
mov eax, dword [esi + 0x1c]
mov eax, 0xe4a4e940
jmp 0x41fbf0
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov edi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
push 0
call fcn.004273e0
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x58]
mov ecx, dword [esi + 0x14]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0xc], ecx
vmovsd qword [esp + 0x10], xmm0
call fcn.00426300
add esp, 0x18
mov ecx, dword [esi + 0x44]
mov dword [ecx], eax
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [eax]
mov eax, 0x679b5add
vmovsd qword [esi + 0x58], xmm0
nop dword [eax]
cmp eax, 0xdc08cde4
jle 0x4207a0
cmp eax, 0xdc08cde5
je 0x4207b8
cmp eax, 0xee0b661b
je 0x42083d
cmp eax, 0x679b5add
jne 0x420760
sub esp, 8
vmovsd xmm0, qword [esi + 0x58]
vmovsd qword [esp], xmm0
call fcn.00436d60
add esp, 8
mov dword [esi + 8], eax
mov eax, 0x8911ce4d
jmp 0x420760
cmp eax, 0x8911ce4d
je 0x4207ff
cmp eax, 0xa174199a
jne 0x420760
mov eax, dword [esi + 8]
mov eax, 0xdc08cde5
jmp 0x420760
cmp dword [esi + 8], 0
mov eax, dword [0x4aaff8]
mov ebx, 0xee0b661b
mov edi, 0xa174199a
lea ecx, [eax + 1]
setle byte [esi + 0x14]
imul ecx, eax
mov eax, 0xa174199a
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4aaff4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x420760
mov eax, dword [0x4aaff8]
mov edi, 0xdc08cde5
mov ebx, 0xa174199a
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xa174199a
sete cl
cmove eax, edi
cmp dword [0x4aaff4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x420760
movzx eax, byte [esi + 0x14]
and al, 1
mov byte [esi + 0x48], al
movzx eax, byte [esi + 0x48]
mov byte [esi + 2], al
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x48], eax
mov eax, 0x7f0f49a7
nop word cs:[eax + eax]
cmp eax, 0x284a0c4b
je 0x420888
cmp eax, 0x7f0f49a7
jne 0x420870
mov ecx, dword [esi + 0x48]
mov eax, 0x284a0c4b
jmp 0x420870
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
call fcn.004110b0
mov dword [esi + 0x88], eax
lea ecx, [ebp + 0xc]
mov eax, dword [esi + 0x7c]
movzx eax, byte [eax]
mov byte [esi + 3], al
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x68]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, 0x3e3f5809
jmp 0x41fbf0
cmp eax, 0x4f1eefe
jne 0x41fbf0
mov ecx, dword [esi + 0xc8]
xor ecx, ebp
call fcn.0043a910
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c