Function at 0x420f20
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 esi, esp
mov dword [esi + 0x84], ecx
mov eax, dword [0x4ae2c0]
xor eax, ebp
mov dword [esi + 0xa8], eax
mov eax, dword [0x4affd8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [0x4affd4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x2d]
cmp eax, 0xa
mov eax, 0xc1654362
setl byte [esi + 0x2e]
jmp 0x420fb0
mov eax, dword [0x4affd8]
mov ebx, 0x8a1950ae
mov edi, 0x36b4b434
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x36b4b434
sete cl
cmove eax, ebx
cmp dword [0x4affd4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
nop word [eax + eax]
cmp eax, 0xfcc3cce9
jg 0x421050
cmp eax, 0xa4953864
jle 0x4210b0
cmp eax, 0xc58d4e6d
jle 0x421191
cmp eax, 0xed938680
jg 0x4212a2
cmp eax, 0xc58d4e6e
je 0x421404
cmp eax, 0xc689cfb4
je 0x42140e
cmp eax, 0xc8cca951
jne 0x420fb0
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 + 0x3c]
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x24]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.00435c00
add esp, 0xc
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov ecx, 0x9424533b
mov eax, dword [esi + 0x34]
cmp byte [eax], 0
mov eax, 0x3c4248d4
cmove eax, ecx
jmp 0x420fb0
cmp eax, 0x3bc0958f
jg 0x421150
cmp eax, 0x13f64de7
jg 0x4211ec
cmp eax, 0x23c0d95
jle 0x4212c2
cmp eax, 0x23c0d96
je 0x421424
cmp eax, 0x5ef8513
je 0x42147c
cmp eax, 0x102c58a7
jne 0x420fb0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x94]
mov dword [eax], ecx
mov eax, dword [esi + 0x50]
mov eax, 0x9424533b
jmp 0x420fb0
cmp eax, 0x938b6e4b
jg 0x421222
cmp eax, 0x8a1950ad
jle 0x42130a
cmp eax, 0x8a1950ae
je 0x4214ce
cmp eax, 0x8d1908d1
je 0x421513
cmp eax, 0x90b9487a
jne 0x420fb0
push eax
mov eax, esp
mov dword [esi + 0x8c], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xc], eax
push eax
mov eax, esp
mov dword [esi + 0x64], eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
push eax
mov eax, esp
mov dword [esi + 0x70], 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 + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
mov eax, dword [0x4affd8]
mov edi, 0x986fcb17
mov ebx, 0xc58d4e6e
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xc58d4e6e
jmp 0x4213d4
cmp eax, 0x5c7e71d5
jg 0x42125b
cmp eax, 0x42884c67
jle 0x42132a
cmp eax, 0x42884c68
je 0x421539
cmp eax, 0x534621bb
je 0x421581
cmp eax, 0x5a8bf166
jne 0x420fb0
mov eax, 0x7e90ba70
jmp 0x420fb0
cmp eax, 0xb6802303
jle 0x421361
cmp eax, 0xb6802304
je 0x421597
cmp eax, 0xbfa1ce89
je 0x42162c
cmp eax, 0xc1654362
jne 0x420fb0
movzx ecx, byte [esi + 0x2d]
movzx eax, byte [esi + 0x2e]
mov edi, 0x90b9487a
mov ebx, 0xc58d4e6e
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xc58d4e6e
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x420fb0
cmp eax, 0x2088142c
jle 0x421381
cmp eax, 0x2088142d
je 0x42166a
cmp eax, 0x2dfcf685
je 0x4216a4
cmp eax, 0x36b4b434
jne 0x420fb0
mov eax, 0x8a1950ae
jmp 0x420fb0
cmp eax, 0x97e95291
jle 0x4213a4
cmp eax, 0x97e95292
je 0x4216b6
cmp eax, 0x986fcb17
je 0x4216ce
cmp eax, 0x9eee51fa
jne 0x420fb0
mov eax, dword [esi + 0x14]
mov eax, 0xfe01da35
jmp 0x420fb0
cmp eax, 0x708ca0fa
jle 0x4213e1
cmp eax, 0x708ca0fb
je 0x4216d8
cmp eax, 0x76a75142
je 0x421730
cmp eax, 0x7e90ba70
jne 0x420fb0
mov ecx, dword [esi + 0x90]
call fcn.0042f760
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], edx
mov eax, 0x8d1908d1
jmp 0x420fb0
cmp eax, 0xed938681
je 0x421756
cmp eax, 0xfa751709
jne 0x421daf
mov eax, 0x938b6e4c
jmp 0x420fb0
cmp eax, 0xfcc3ccea
je 0x421789
cmp eax, 0xfe01da35
jne 0x420fb0
mov eax, dword [esi + 0x14]
mov ebx, 0xa4953865
mov edi, 0x9eee51fa
mov eax, dword [eax]
add eax, 0x32
mov dword [esi + 0x74], eax
mov eax, dword [0x4affd8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x9eee51fa
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x420f8f
cmp eax, 0x84a30145
je 0x42179f
cmp eax, 0x8656068a
jne 0x420fb0
mov eax, 0x708ca0fb
jmp 0x420fb0
cmp eax, 0x3bc09590
je 0x4217ec
cmp eax, 0x3c4248d4
jne 0x420fb0
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov eax, 0xbfa1ce89
vandpd xmm0, xmm0, xmmword [0x458240]
vmovlpd qword [esi + 0x98], xmm0
jmp 0x420fb0
cmp eax, 0xa4953865
je 0x42182f
cmp eax, 0xb4ae874e
jne 0x420fb0
mov eax, 0x76a75142
jmp 0x420fb0
cmp eax, 0x13f64de8
je 0x421839
cmp eax, 0x18b60608
jne 0x420fb0
mov eax, dword [esi + 0x10]
mov eax, 0x13f64de8
jmp 0x420fb0
cmp eax, 0x938b6e4c
je 0x420f6e
cmp eax, 0x9424533b
jne 0x420fb0
mov eax, dword [0x4affd8]
mov edi, 0xfe01da35
mov ebx, 0x9eee51fa
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x9eee51fa
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x42164d
cmp eax, 0x5c7e71d6
je 0x421887
cmp eax, 0x6c7667cd
jne 0x420fb0
mov eax, dword [esi + 0xc]
mov eax, 0x5ef8513
jmp 0x420fb0
mov eax, 0x90b9487a
jmp 0x420fb0
cmp byte [esi + 0x2f], 0
mov eax, 0x9424533b
mov ecx, 0x42884c68
cmovne eax, ecx
jmp 0x420fb0
mov ecx, dword [esi + 8]
push 0
push dword [esi + 0x74]
call fcn.004302b0
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0xc]
mov ecx, 0x31cfd9b5
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x40], xmm0
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
add eax, 0x14
nop word cs:[eax + eax]
cmp ecx, 0x31cfd9b5
je 0x421475
cmp ecx, 0x7ec8f6f7
jne 0x421460
jmp 0x421891
mov ecx, 0x7ec8f6f7
jmp 0x421460
mov edx, dword [0x4affd8]
mov ecx, dword [0x4affd4]
mov edi, 0x6c7667cd
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, 0x8656068a
cmovne edi, ebx
test edx, eax
mov edx, dword [esi + 0xc]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0xa0], xmm0
jmp 0x420fb0
mov edx, dword [0x4affd8]
mov ecx, dword [0x4affd4]
mov edi, 0xc689cfb4
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, 0x36b4b434
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x420fb0
mov eax, dword [0x4affd8]
mov edi, 0x76a75142
mov ebx, 0xb4ae874e
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xb4ae874e
jmp 0x42164d
mov edx, dword [0x4affd8]
mov ecx, dword [0x4affd4]
mov edi, 0x5ef8513
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, 0x6c7667cd
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x50]
cmovge eax, edx
jmp 0x420fb0
mov eax, dword [esi + 0x78]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x68], eax
mov eax, 0xc8cca951
jmp 0x420fb0
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x50], eax
push eax
mov eax, esp
mov dword [esi + 0x18], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x54], eax
mov ecx, dword [ebp + 8]
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, dword [esi + 0x8c]
mov dword [eax], ecx
movzx ecx, byte [ebp + 0x18]
mov eax, dword [esi + 0xc]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x64]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x84]
mov dword [eax], ecx
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
call fcn.00401310
mov eax, dword [esi + 0x4c]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x10]
mov ecx, 0x31cfd9b5
mov eax, dword [eax]
add eax, 0x14
cmp ecx, 0x31cfd9b5
je 0x421625
cmp ecx, 0x7ec8f6f7
jne 0x421610
jmp 0x4218dc
mov ecx, 0x7ec8f6f7
jmp 0x421610
mov eax, dword [0x4affd8]
mov edi, 0x2088142d
mov ebx, 0x2dfcf685
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x2dfcf685
sete cl
cmove eax, edi
cmp dword [0x4affd4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x420fb0
vmovsd xmm0, qword [esi + 0x98]
mov eax, dword [0x4affd8]
mov ebx, 0xfa751709
mov edi, 0x2dfcf685
vucomisd xmm0, qword [0x458230]
lea ecx, [eax + 1]
seta byte [esi + 0x2f]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x2dfcf685
jmp 0x420f8f
vmovsd xmm0, qword [esi + 0x98]
mov eax, 0x2088142d
jmp 0x420fb0
mov dword [esi + 0x6c], 0xffffffff
mov eax, 0xc8cca951
mov dword [esi + 0x68], 0xffffffff
jmp 0x420fb0
mov eax, 0xfcc3ccea
jmp 0x420fb0
mov eax, dword [esi + 0x50]
vmovsd xmm0, qword [esi + 0xa0]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0044093b
fstp st(0)
add esp, 0xc
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0xa7c5ac5
imul edx, ecx, 0x7597
mov ecx, dword [esi + 0x14]
shr edx, 5
mulx eax, eax, eax
shr eax, 7
add eax, dword [ecx]
mov dword [esi + 0x94], eax
mov eax, 0x102c58a7
jmp 0x420fb0
mov eax, dword [0x4affd8]
mov ebx, 0x534621bb
mov edi, 0xb4ae874e
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xb4ae874e
jmp 0x420f8f
mov edx, dword [0x4affd8]
mov ecx, dword [0x4affd4]
mov edi, 0x18b60608
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, 0x13f64de8
jmp 0x42181a
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x24], eax
mov eax, 0xb6802304
jmp 0x420fb0
mov ecx, dword [esi + 8]
push 0
push dword [esi + 0x74]
call fcn.004302b0
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0xc]
mov ecx, 0x31cfd9b5
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x40], xmm0
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
add eax, 0x14
cmp ecx, 0x31cfd9b5
je 0x4217e5
cmp ecx, 0x7ec8f6f7
jne 0x4217d0
jmp 0x42192f
mov ecx, 0x7ec8f6f7
jmp 0x4217d0
mov edx, dword [0x4affd8]
mov ecx, dword [0x4affd4]
mov edi, 0x23c0d96
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, 0x84a30145
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x420fb0
mov eax, 0x3bc09590
jmp 0x420fb0
mov edx, dword [0x4affd8]
mov ecx, dword [0x4affd4]
mov edi, 0x18b60608
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, 0x5a8bf166
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x10]
cmovge eax, edi
mov ecx, dword [ecx]
mov dword [esi + 0x90], ecx
jmp 0x420fb0
mov eax, 0xf827c829
jmp 0x420fb0
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
push dword [eax]
push 0
push dword [esi + 0x4c]
push dword [esi + 0x58]
call fcn.00430840
add esp, 0x10
mov dword [esi + 0x1c], eax
mov ecx, 0x99e65b07
mov eax, dword [esi + 8]
nop word cs:[eax + eax]
cmp ecx, 0x99e65b07
je 0x4218d5
cmp ecx, 0x29ee60f8
jne 0x4218c0
jmp 0x421979
mov ecx, 0x29ee60f8
jmp 0x4218c0
mov dword [esi + 4], eax
mov ecx, 0x3000
mov eax, dword [esi + 4]
mov eax, dword [eax]
and eax, ecx
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
mov ecx, 0xed938681
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x34]
sete byte [eax]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x38]
sete byte [eax]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x38]
cmp byte [eax], 0
mov eax, 0x97e95292
cmove eax, ecx
jmp 0x420fb0
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
push dword [eax]
push 0
push dword [esi + 0x4c]
push dword [esi + 0x58]
call fcn.00430840
add esp, 0x10
mov dword [esi + 0x1c], eax
mov ecx, 0x99e65b07
mov eax, dword [esi + 8]
nop word cs:[eax + eax]
cmp ecx, 0x99e65b07
je 0x421972
cmp ecx, 0x29ee60f8
jne 0x421960
jmp 0x4219ae
mov ecx, 0x29ee60f8
jmp 0x421960
mov dword [esi + 4], eax
mov ecx, 0x5798a889
mov eax, dword [esi + 4]
mov ebx, dword [eax + 0x10]
mov edi, dword [esi + 8]
nop word [eax + eax]
cmp ecx, 0x3c58529
je 0x4219e2
cmp ecx, 0x5798a889
jne 0x421990
mov ecx, edi
call fcn.00418a20
mov ecx, 0x3c58529
jmp 0x421990
mov dword [esi + 4], eax
mov ecx, 0x5798a889
mov eax, dword [esi + 4]
mov ebx, dword [eax + 0x10]
mov edi, dword [esi + 8]
nop
cmp ecx, 0x3c58529
je 0x421b38
cmp ecx, 0x5798a889
jne 0x4219c0
mov ecx, edi
call fcn.00418a20
mov ecx, 0x3c58529
jmp 0x4219c0
mov dword [esi + 0x28], eax
mov dword [esi + 4], 0
mov eax, dword [esi + 0x28]
add eax, dword [esi + 4]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x40]
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
vmovsd qword [esp + 0x10], xmm0
call fcn.00426af0
add esp, 0x18
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.00436760
add esp, 8
mov byte [esi + 0x5c], al
mov ecx, 0x19e6a91a
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x28], eax
mov eax, dword [0x4b010c]
mov edx, dword [0x4b0110]
mov ebx, 0xa9b8b94d
cmp eax, 0xa
lea edi, [edx + 1]
mov dword [esi + 0x40], eax
setl al
imul edi, edx
mov byte [esi + 0x20], al
mov edx, edi
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete ah
xor ah, al
mov eax, 0xe5a73c34
cmovne eax, ebx
cmp edx, 0xffffffff
mov edx, eax
cmove edx, ebx
cmp dword [esi + 0x40], 0xa
cmovge edx, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
mov dword [esi + 0x1c], edx
mov edx, 0x2bc473f8
sete bl
xor bl, byte [esi + 0x20]
mov ebx, 0xe5a73c34
cmovne ebx, edx
test eax, edi
mov edi, ebx
cmove edi, edx
cmp dword [esi + 0x40], 0xa
cmovge edi, ebx
nop word cs:[eax + eax]
cmp ecx, 0x19e6a919
jle 0x421b00
cmp ecx, 0x4db67868
je 0x421b17
cmp ecx, 0x2bc473f8
je 0x421c85
cmp ecx, 0x19e6a91a
jne 0x421ad0
jmp 0x421b20
cmp ecx, 0xa9b8b94d
je 0x421b1c
cmp ecx, 0xe5a73c34
jne 0x421ad0
mov ecx, 0xa9b8b94d
jmp 0x421ad0
mov ecx, dword [esi + 0x1c]
jmp 0x421ad0
mov ecx, edi
jmp 0x421ad0
mov ecx, dword [esi + 0x28]
call fcn.0040fde0
mov dword [esi + 0x88], eax
mov ecx, 0x4db67868
jmp 0x421a4f
mov dword [esi + 0x28], eax
mov dword [esi + 4], 0
mov eax, dword [esi + 0x28]
add eax, dword [esi + 4]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x40]
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
vmovsd qword [esp + 0x10], xmm0
call fcn.00426af0
add esp, 0x18
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.00436760
add esp, 8
mov byte [esi + 0x60], al
mov ecx, 0x19e6a91a
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x28], eax
mov edx, dword [0x4b0110]
mov eax, dword [0x4b010c]
lea edi, [edx + 1]
mov dword [esi + 0x40], eax
mov eax, 0xe5a73c34
imul edi, edx
mov ebx, edi
not ebx
mov edx, edi
xor edx, 0xfffffffe
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
mov ebx, 0xa9b8b94d
cmove eax, ebx
sete byte [esi + 0x20]
cmp dword [esi + 0x40], 0xa
mov ebx, 0xe5a73c34
cmovge eax, ebx
test edx, edi
mov edi, 0xe5a73c34
mov ebx, 0x2bc473f8
cmove edi, ebx
sete dl
cmp dword [esi + 0x40], 0xa
mov ebx, 0xe5a73c34
setl dh
cmovge edi, ebx
mov ebx, 0x2bc473f8
xor dl, dh
cmovne edi, ebx
xor byte [esi + 0x20], dh
mov edx, 0xa9b8b94d
cmovne eax, edx
nop dword [eax + eax]
cmp ecx, 0x19e6a919
jle 0x421c50
cmp ecx, 0x4db67868
je 0x421c67
cmp ecx, 0x2bc473f8
je 0x421cff
cmp ecx, 0x19e6a91a
jne 0x421c20
jmp 0x421c70
cmp ecx, 0xa9b8b94d
je 0x421c6b
cmp ecx, 0xe5a73c34
jne 0x421c20
mov ecx, 0xa9b8b94d
jmp 0x421c20
mov ecx, eax
jmp 0x421c20
mov ecx, edi
jmp 0x421c20
mov ecx, dword [esi + 0x28]
call fcn.0040fde0
mov dword [esi + 0x5c], eax
mov ecx, 0x4db67868
jmp 0x421ba5
mov eax, dword [esi + 0x88]
lea ebx, [ebp + 0xc]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x64]
movsx edx, byte [ecx]
mov ecx, dword [esi + 0x10]
mov edi, dword [ecx]
mov ecx, dword [esi + 0x54]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ebx, dword [esi + 0x54]
mov ecx, dword [esi + 0x58]
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 + 0x5c]
mov dword [esp], eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esi + 0x60]
mov dword [esp + 0x18], ebx
call fcn.00431d70
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x34]
mov eax, 0x84a30145
jmp 0x420fb0
mov eax, dword [esi + 0x5c]
lea ebx, [ebp + 0xc]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x64]
movsx edx, byte [ecx]
mov ecx, dword [esi + 0x10]
mov edi, dword [ecx]
mov ecx, dword [esi + 0x54]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ebx, dword [esi + 0x54]
mov ecx, dword [esi + 0x58]
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 + 0x60]
mov dword [esp], eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esi + 0x1c]
mov dword [esp + 0x18], ebx
call fcn.00431d70
mov edx, dword [0x4affd8]
mov ecx, dword [0x4affd4]
mov ebx, 0x5c7e71d6
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x23c0d96
cmovne edx, ebx
test edi, eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x24]
mov ecx, dword [esi + 0x38]
mov ecx, dword [esi + 0x34]
cmovge eax, edx
jmp 0x420fb0
cmp eax, 0xf827c829
jne 0x420fb0
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x4c]
mov ebx, dword [esi + 8]
mov eax, dword [0x4b0430]
mov edx, 0xff1c9814
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4b042c], 0xa
setl cl
or cl, al
mov eax, 0x1e613177
mov ecx, 0x357c0107
cmove eax, edx
cmove ecx, edx
mov edx, 0x6ea62d35
nop
cmp edx, 0x1e613176
jle 0x421e30
cmp edx, 0x1e613177
je 0x421e42
cmp edx, 0x6ea62d35
je 0x421e49
cmp edx, 0x357c0107
jne 0x421e00
mov edx, eax
jmp 0x421e00
cmp edx, 0xff1c9814
je 0x421e4d
cmp edx, 0x109365e3
jne 0x421e00
jmp 0x421e54
mov edx, 0x109365e3
jmp 0x421e00
mov edx, ecx
jmp 0x421e00
mov edx, 0x357c0107
jmp 0x421e00
mov ecx, ebx
call fcn.0040a040
mov ecx, ebx
call fcn.0040a340
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xa8]
xor ecx, ebp
call fcn.00439c00
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c