Function at 0x41ffd0
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 + 0x80], ecx
mov eax, dword [0x47e2c0]
xor eax, ebp
mov dword [esi + 0xa8], eax
mov eax, dword [0x47ffc0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x47ffbc]
sete byte [esi + 0x21]
cmp eax, 0xa
mov eax, 0xb59095c6
setl byte [esi + 0x22]
jmp 0x420060
mov eax, dword [0x47ffc0]
mov edi, 0x1bfdd0d5
mov ebx, 0x1d579f41
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1d579f41
sete cl
cmove eax, edi
cmp dword [0x47ffbc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
nop word cs:[eax + eax]
cmp eax, 0xf2bd5ad2
jle 0x4200c0
cmp eax, 0x1f61522f
jle 0x420130
cmp eax, 0x58190c9f
jg 0x4201dd
cmp eax, 0x3636d4ea
jle 0x42037b
cmp eax, 0x3636d4eb
je 0x420678
cmp eax, 0x3bfafa2f
je 0x4206bd
cmp eax, 0x49e9b568
jne 0x420060
mov ecx, dword [esi + 0x88]
call fcn.0042f4d0
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], edx
mov eax, 0x203a18d0
jmp 0x420060
cmp eax, 0xc4881dcd
jg 0x420190
cmp eax, 0xa22c98fc
jg 0x420222
cmp eax, 0x94a9fc4a
jle 0x4203c4
cmp eax, 0x94a9fc4b
je 0x4206f2
cmp eax, 0x963145c0
je 0x4207a7
cmp eax, 0x9691e82a
jne 0x420060
mov eax, dword [0x47ffc0]
mov edi, 0xc4881dce
mov ebx, 0x5ff93e84
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x5ff93e84
jmp 0x42003e
cmp eax, 0x1637c975
jg 0x420263
cmp eax, 0x1ef5bdf
jle 0x4203e4
cmp eax, 0x1ef5be0
je 0x4207b4
cmp eax, 0x137952df
je 0x42081c
cmp eax, 0x15bd35b0
jne 0x420060
mov eax, dword [0x47ffc0]
mov ebx, 0xef33ce72
mov edi, 0x3bfafa2f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x3bfafa2f
jmp 0x4208dd
cmp eax, 0xe0f47591
jg 0x4202a1
cmp eax, 0xd6cfebd8
jle 0x420410
cmp eax, 0xd6cfebd9
je 0x420826
cmp eax, 0xd8904ebc
je 0x42086b
cmp eax, 0xddef1458
jne 0x420060
cmp byte [esi + 0x23], 0
mov eax, 0xe760ceef
mov ecx, 0x3636d4eb
cmovne eax, ecx
jmp 0x420060
cmp eax, 0x5f379314
jle 0x42043e
cmp eax, 0x5f379315
je 0x4208bc
cmp eax, 0x5ff93e84
je 0x4208fa
cmp eax, 0x7dfc7681
jne 0x420060
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0x15bd35b0
mov dword [esi + 0x44], ecx
jmp 0x420060
cmp eax, 0xb59095c5
jle 0x42045e
cmp eax, 0xb59095c6
je 0x420a72
cmp eax, 0xb5bc48b3
je 0x42001d
cmp eax, 0xb8572de5
jne 0x420060
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov eax, 0x49e9b568
jmp 0x420060
cmp eax, 0x1cd592fc
jle 0x4205cf
cmp eax, 0x1cd592fd
je 0x420a9c
cmp eax, 0x1d18cbaa
je 0x420aee
cmp eax, 0x1d579f41
jne 0x420060
vmovsd xmm0, qword [esi + 0x90]
mov eax, 0x1bfdd0d5
jmp 0x420060
cmp eax, 0xe760ceee
jle 0x420640
cmp eax, 0xe760ceef
je 0x420b17
cmp eax, 0xef33ce72
je 0x420bed
cmp eax, 0xf1f738ed
jne 0x420060
push eax
mov eax, esp
mov dword [esi + 0x84], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x68], eax
push eax
mov eax, esp
mov dword [esi + 0x24], eax
push eax
mov eax, esp
mov dword [esi + 0x6c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0xc], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x18], eax
push eax
mov eax, esp
mov dword [esi + 4], eax
push eax
mov edi, dword [0x47ffc0]
mov edx, dword [0x47ffbc]
mov ecx, esp
mov dword [esi + 0x2c], ecx
lea eax, [edi + 1]
imul eax, edi
mov edi, 0x8ef8a30d
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xe0f47592
cmovne edi, ebx
cmp eax, 0xffffffff
mov eax, edi
cmove eax, ebx
cmp edx, 0xa
cmovge eax, edi
jmp 0x420060
cmp eax, 0x1f615230
je 0x420c39
cmp eax, 0x203a18d0
jne 0x421142
mov edx, dword [0x47ffc0]
mov ecx, dword [0x47ffbc]
mov edi, 0xf2bd5ad3
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, 0x5f379315
jmp 0x420e4d
cmp eax, 0x8bf7b3f0
je 0x420c75
cmp eax, 0x8ef8a30d
jne 0x420060
mov eax, 0xf1f738ed
jmp 0x420060
cmp eax, 0xf2bd5ad3
je 0x420c7f
cmp eax, 0xfaf8bdbd
jne 0x420060
mov eax, dword [esi + 0x78]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x60], eax
mov eax, 0xd8904ebc
jmp 0x420060
cmp eax, 0xc4881dce
je 0x420c89
cmp eax, 0xd097d386
jne 0x420060
mov dword [esi + 0x64], 0xffffffff
mov eax, 0xd8904ebc
mov dword [esi + 0x60], 0xffffffff
jmp 0x420060
cmp eax, 0x58190ca0
je 0x420dff
cmp eax, 0x5affca7e
jne 0x420060
mov eax, 0xb5bc48b3
jmp 0x420060
cmp eax, 0xa22c98fd
je 0x420e62
cmp eax, 0xaff3f00b
jne 0x420060
push eax
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x40], eax
mov ecx, dword [ebp + 8]
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, dword [esi + 0x84]
mov dword [eax], ecx
movzx ecx, byte [ebp + 0x18]
mov eax, dword [esi + 0x1c]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x68]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x24]
mov dword [eax], ecx
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x80]
mov dword [eax], ecx
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0xc]
mov dword [esi + 0x48], eax
mov eax, 0x7d39a130
nop dword [eax + eax]
cmp eax, 0x9fedcf6
jle 0x420540
cmp eax, 0x9fedcf7
je 0x4205a6
cmp eax, 0x477bcf9f
je 0x420e6c
cmp eax, 0x7d39a130
jne 0x4204d0
mov edx, dword [0x480410]
mov ecx, dword [0x48040c]
mov edi, 0x510de85
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, 0x8c15b37a
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x4204d0
cmp eax, 0x8c15b37a
je 0x4205b0
cmp eax, 0x510de85
jne 0x4204d0
mov eax, dword [esi + 0x48]
mov dword [esi], eax
mov ecx, dword [esi]
sub esp, 4
movzx eax, byte [esi + 0xa4]
mov byte [esp], al
call fcn.0040b490
mov eax, dword [0x480410]
mov ebx, 0x9fedcf7
mov edi, 0x8c15b37a
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x8c15b37a
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x48040c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x4204d0
mov eax, 0x477bcf9f
jmp 0x4204d0
sub esp, 4
movzx eax, byte [esi + 0xa4]
mov byte [esp], al
mov ecx, dword [esi + 0x48]
call fcn.0040b490
mov eax, 0x510de85
jmp 0x4204d0
cmp eax, 0x1637c976
je 0x420f3d
cmp eax, 0x1bfdd0d5
jne 0x420060
mov edx, dword [0x47ffc0]
mov ecx, dword [0x47ffbc]
vmovsd xmm0, qword [esi + 0x90]
mov edi, 0x1d579f41
vandpd xmm0, xmm0, xmmword [0x458250]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
vmovlpd qword [esi + 0x98], xmm0
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x8bf7b3f0
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x420060
cmp eax, 0xe0f47592
je 0x420f67
cmp eax, 0xe5541017
jne 0x420060
vmovsd xmm0, qword [esi + 0x98]
mov eax, 0xe760ceef
mov ecx, 0x1d18cbaa
vucomisd xmm0, qword [0x458240]
cmova eax, ecx
jmp 0x420060
mov edx, dword [0x47ffc0]
mov ecx, dword [0x47ffbc]
mov edi, 0x1cd592fd
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, 0x963145c0
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x420060
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x44]
imul eax, dword [esi + 0x44], 0x7597
mov ecx, 0x14f8b589
imul ecx
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
mov eax, dword [esi + 4]
add edx, dword [eax]
mov eax, dword [esi + 4]
mov dword [eax], edx
mov eax, dword [esi + 0x2c]
mov eax, 0xef33ce72
jmp 0x420060
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x8c]
mov edx, 0xff326b6d
mov dword [eax], ecx
mov eax, dword [esi + 0x1c]
vmovsd xmm0, qword [eax]
mov eax, dword [0x47ffb8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x47ffb4], 0xa
setl cl
or cl, al
mov eax, 0x65c4f3be
mov ecx, 0xaaa96f11
cmovne eax, ecx
mov ecx, 0x65c4f3be
cmovne ecx, edx
mov edx, 0x623c0880
nop word cs:[eax + eax]
cmp edx, 0xff326b6c
jle 0x420780
cmp edx, 0x65c4f3be
je 0x420795
cmp edx, 0x623c0880
je 0x42079c
cmp edx, 0xff326b6d
jne 0x420750
mov edx, eax
jmp 0x420750
cmp edx, 0xaaa96f11
je 0x4207a0
cmp edx, 0xbf8694c2
jne 0x420750
jmp 0x420f71
mov edx, 0xff326b6d
jmp 0x420750
mov edx, ecx
jmp 0x420750
mov edx, 0xbf8694c2
jmp 0x420750
mov eax, dword [esi + 0x1c]
mov eax, 0x1cd592fd
jmp 0x420060
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.00435720
add esp, 0xc
mov ecx, dword [esi + 0x18]
mov ebx, 0xddef1458
mov edi, 0xd6cfebd9
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
mov eax, dword [0x47ffc0]
lea ecx, [eax + 1]
setne byte [esi + 0x23]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xd6cfebd9
jmp 0x4208dd
mov eax, 0xe760ceef
jmp 0x420060
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.00435720
add esp, 0xc
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x28]
mov eax, 0x1ef5be0
jmp 0x420060
mov edx, dword [0x47ffc0]
mov ecx, dword [0x47ffbc]
mov edi, 0x1ef5be0
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, 0xd6cfebd9
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov edi, dword [esi + 0x64]
cmovge eax, edx
mov edx, dword [esi + 0x60]
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edx
jmp 0x420060
mov eax, dword [0x47ffc0]
mov ebx, 0xfaf8bdbd
mov edi, 0xf2bd5ad3
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xf2bd5ad3
sete cl
cmove eax, ebx
cmp dword [0x47ffbc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x420060
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 0x48], eax
lea eax, [ebp + 0xc]
mov ecx, dword [esi + 0x40]
vmovsd xmm0, qword [eax]
vmovsd qword [ecx], xmm0
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x54]
mov dword [esi + 0x30], eax
movzx edi, byte [esi + 0xa]
mov ebx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
movsx ecx, byte [esi + 0xb]
sub esp, 0x20
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ebx
mov eax, dword [esi + 0x48]
mov dword [esp], ecx
mov ecx, dword [esi + 0x30]
mov dword [esp + 0xc], eax
call fcn.00431330
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + 0xc]
mov ecx, ebx
call fcn.00409b70
mov eax, 0xe5a891ad
mov dword [esi], ebx
nop word cs:[eax + eax]
cmp eax, 0x4ac293fe
jle 0x4209c0
cmp eax, 0x4ac293ff
je 0x420a0d
cmp eax, 0x525292ae
je 0x420a1e
cmp eax, 0x5e3802fb
jne 0x420990
jmp 0x420fc6
cmp eax, 0xb4bdb2ff
je 0x420a68
cmp eax, 0xe5a891ad
jne 0x420990
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 0x420990
mov ecx, dword [esi]
call fcn.0040a210
mov eax, 0x525292ae
jmp 0x420990
mov ecx, dword [esi]
call fcn.0040a210
mov edx, dword [0x480420]
mov ecx, dword [0x48041c]
mov edi, 0x4ac293ff
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, 0xb4bdb2ff
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x420990
mov eax, 0x5e3802fb
jmp 0x420990
movzx ecx, byte [esi + 0x21]
movzx eax, byte [esi + 0x22]
mov edi, 0xf1f738ed
mov edx, ecx
xor dl, al
mov edx, 0x8ef8a30d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x420060
mov edx, dword [0x47ffc0]
mov ecx, dword [0x47ffbc]
mov edi, 0x963145c0
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, 0x5affca7e
cmovne edi, ebx
test edx, eax
mov edx, dword [esi + 0x1c]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0x90], xmm0
jmp 0x420060
mov eax, dword [esi + 0x2c]
mov eax, dword [0x47ffc0]
mov edi, 0x58190ca0
mov ebx, 0x1637c976
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1637c976
jmp 0x42003e
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
add eax, 0x32
push 0
push eax
call fcn.0042fc90
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x1c]
mov edx, 0xe5b4f7e8
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x48], xmm0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
add eax, 0x14
mov dword [esi + 0xa4], eax
mov eax, dword [0x4803b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
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
cmp edx, 0xd28c666d
jle 0x420bc0
cmp edx, 0xd28c666e
je 0x420bd5
cmp edx, 0x1186300d
je 0x420be2
cmp edx, 0xe5b4f7e8
jne 0x420b90
mov edx, dword [esi + 0xa4]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, eax
jmp 0x420b90
cmp edx, 0x88b16ae6
je 0x420be6
cmp edx, 0xc6638f21
jne 0x420b90
jmp 0x420fd3
mov edx, dword [esi + 0xa4]
mov edx, 0xe5b4f7e8
jmp 0x420b90
mov edx, ecx
jmp 0x420b90
mov edx, 0xc6638f21
jmp 0x420b90
imul eax, dword [esi + 0x44], 0x7597
mov ecx, 0x14f8b589
mov edi, 0x137952df
mov ebx, 0x3bfafa2f
imul ecx
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
mov eax, dword [esi + 4]
add edx, dword [eax]
mov eax, dword [esi + 4]
mov dword [eax], edx
mov eax, dword [esi + 0x2c]
mov eax, dword [0x47ffc0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x3bfafa2f
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x42003e
mov eax, dword [esi + 0x10]
mov ecx, 0xb8572de5
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x28]
sete byte [eax]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x10]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x34]
sete byte [eax]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
cmp byte [eax], 0
mov eax, 0xd097d386
cmove eax, ecx
jmp 0x420060
mov eax, 0xe5541017
jmp 0x420060
mov eax, 0x5f379315
jmp 0x420060
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 0x48], eax
lea eax, [ebp + 0xc]
mov ecx, dword [esi + 0x40]
vmovsd xmm0, qword [eax]
vmovsd qword [ecx], xmm0
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x54]
mov dword [esi + 0x30], eax
movzx edi, byte [esi + 0xa]
mov ebx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
movsx ecx, byte [esi + 0xb]
sub esp, 0x20
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ebx
mov eax, dword [esi + 0x48]
mov dword [esp], ecx
mov ecx, dword [esi + 0x30]
mov dword [esp + 0xc], eax
call fcn.00431330
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + 0xc]
mov ecx, ebx
call fcn.00409b70
mov eax, 0xe5a891ad
mov dword [esi], ebx
nop word cs:[eax + eax]
cmp eax, 0x4ac293fe
jle 0x420d50
cmp eax, 0x4ac293ff
je 0x420d9e
cmp eax, 0x525292ae
je 0x420daf
cmp eax, 0x5e3802fb
jne 0x420d20
jmp 0x42107f
cmp eax, 0xb4bdb2ff
je 0x420df5
cmp eax, 0xe5a891ad
jne 0x420d20
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 0x420d20
mov ecx, dword [esi]
call fcn.0040a210
mov eax, 0x525292ae
jmp 0x420d20
mov ecx, dword [esi]
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 0x420d20
mov eax, 0x5e3802fb
jmp 0x420d20
mov eax, dword [esi + 0x1c]
vmovsd xmm0, qword [eax]
mov eax, dword [esi + 0x2c]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00440afb
fstp st(0)
add esp, 0xc
mov edx, dword [0x47ffc0]
mov ecx, dword [0x47ffbc]
mov edi, 0x1637c976
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, 0xa22c98fd
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x420060
mov eax, 0x7dfc7681
jmp 0x420060
mov ecx, dword [esi]
push 0x473906
call fcn.0040f5c0
mov ecx, dword [esi]
call fcn.0040f620
mov eax, dword [esi]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x24]
mov edx, 0xe5b4f7e8
mov eax, dword [eax]
add eax, 0x14
mov dword [esi + 0xa4], 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 word cs:[eax + eax]
cmp edx, 0xd28c666d
jle 0x420f10
cmp edx, 0xd28c666e
je 0x420f25
cmp edx, 0x1186300d
je 0x420f32
cmp edx, 0xe5b4f7e8
jne 0x420ee0
mov edx, dword [esi + 0xa4]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, eax
jmp 0x420ee0
cmp edx, 0x88b16ae6
je 0x420f36
cmp edx, 0xc6638f21
jne 0x420ee0
jmp 0x4210c5
mov edx, dword [esi + 0xa4]
mov edx, 0xe5b4f7e8
jmp 0x420ee0
mov edx, ecx
jmp 0x420ee0
mov edx, 0xc6638f21
jmp 0x420ee0
mov eax, dword [esi + 0x1c]
vmovsd xmm0, qword [eax]
mov eax, dword [esi + 0x2c]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00440afb
fstp st(0)
add esp, 0xc
mov eax, 0x58190ca0
jmp 0x420060
mov eax, 0xaff3f00b
jmp 0x420060
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.00436280
add esp, 8
test eax, eax
mov ecx, 0x288e067e
setle byte [esi + 0xa]
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0xa4], eax
nop dword [eax]
cmp ecx, 0x9f6e86ec
je 0x4210e0
cmp ecx, 0x288e067e
jne 0x420fa0
mov ecx, dword [esi + 0xa4]
call fcn.0040f800
mov ecx, 0x9f6e86ec
jmp 0x420fa0
mov eax, dword [esi + 0xc]
mov eax, 0xc4881dce
jmp 0x420060
push dword [esi]
push 0
push dword [esi + 0x3c]
push dword [esi + 0x54]
call fcn.00430210
add esp, 0x10
mov ebx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x47ffd0]
mov edi, 0x423c6ab0
lea edx, [ecx + 1]
add eax, 0x10
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x47ffcc], 0xa
setl dl
or dl, cl
mov ecx, 0x864cfd82
mov edx, 0x423c6ab0
cmovne edi, ecx
mov ecx, 0x9bedf401
cmovne edx, ecx
mov ecx, 0xd594a0f9
nop
cmp ecx, 0xd594a0f8
jle 0x421060
cmp ecx, 0xd594a0f9
je 0x421074
cmp ecx, 0x26e23e49
je 0x4210fa
cmp ecx, 0x423c6ab0
jne 0x421030
mov ecx, 0x9bedf401
jmp 0x421030
cmp ecx, 0x864cfd82
je 0x421078
cmp ecx, 0x9bedf401
jne 0x421030
mov ecx, edi
jmp 0x421030
mov ecx, edx
jmp 0x421030
mov ecx, 0x26e23e49
jmp 0x421030
mov edx, dword [0x47ffc0]
mov ecx, dword [0x47ffbc]
mov edi, 0x5ff93e84
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, 0x2b6f951a
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0xc]
cmovge eax, edi
jmp 0x420060
mov eax, dword [esi]
mov edx, dword [esi + 0x10]
mov ecx, 0x3000
and eax, ecx
mov dword [edx], eax
mov eax, dword [esi + 0x28]
mov eax, 0x1f615230
jmp 0x420060
mov dword [esi], eax
mov eax, dword [esi]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x68]
movzx eax, byte [eax]
mov byte [esi + 0xb], al
mov eax, 0x9691e82a
jmp 0x420060
mov dword [esi], eax
mov eax, dword [esi]
mov edi, dword [eax]
mov ecx, dword [esi + 0xc]
push 0
call fcn.004276c0
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x48]
mov ecx, dword [esi + 0x30]
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.004268a0
add esp, 0x18
mov dword [esi + 0x8c], eax
mov eax, 0x94a9fc4b
jmp 0x420060
cmp eax, 0x2b6f951a
jne 0x420060
mov ecx, dword [esi + 0xa8]
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