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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, esp
mov dword [esi + 0x84], ecx
mov eax, dword [0x4b22c0]
xor eax, ebp
mov dword [esi + 0xa0], eax
mov eax, dword [0x4b3fd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [0x4b3fcc]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x26]
cmp eax, 0xa
mov eax, 0xd21eeb6
setl byte [esi + 0x27]
jmp 0x4223a0
mov eax, dword [0x4b3fd0]
mov edi, 0xcc9c7214
mov ebx, 0xf3e877a4
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xf3e877a4
sete cl
cmove eax, edi
cmp dword [0x4b3fcc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
nop word [eax + eax]
cmp eax, 0xf76a0151
jg 0x422410
cmp eax, 0xc10061ea
jg 0x422490
cmp eax, 0xa32eaa66
jg 0x422536
cmp eax, 0x969603be
jle 0x4226cc
cmp eax, 0x969603bf
je 0x422987
cmp eax, 0x9ce7e0eb
je 0x422994
cmp eax, 0x9df5b218
jne 0x4223a0
vmovsd xmm0, qword [esi + 0x90]
mov eax, 0x54664f99
vandpd xmm0, xmm0, xmmword [0x45c250]
vucomisd xmm0, qword [0x45c240]
seta byte [esi + 0x29]
jmp 0x4223a0
cmp eax, 0x45e694aa
jg 0x4224e0
cmp eax, 0x12d68a39
jg 0x422595
cmp eax, 0xfcfe8503
jle 0x422720
cmp eax, 0xfcfe8504
je 0x4229ac
cmp eax, 0x7aa0d9c
je 0x4229b6
cmp eax, 0xd21eeb6
jne 0x4223a0
movzx ecx, byte [esi + 0x26]
movzx eax, byte [esi + 0x27]
mov edi, 0x5df5fec6
mov ebx, 0xfcfe8504
mov edx, ecx
xor dl, al
test al, al
mov eax, 0xfcfe8504
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x4223a0
cmp eax, 0xddecd490
jg 0x422610
cmp eax, 0xc814fd51
jle 0x422788
cmp eax, 0xc814fd52
je 0x4229c3
cmp eax, 0xcc9c7214
je 0x4229dc
cmp eax, 0xd66d01b7
jne 0x4223a0
mov eax, dword [esi + 0x34]
mov eax, 0xf76a0152
jmp 0x4223a0
cmp eax, 0x5bc5be47
jg 0x422696
cmp eax, 0x54664f98
jle 0x4227bd
cmp eax, 0x54664f99
je 0x422a27
cmp eax, 0x54e982d9
je 0x422a3d
cmp eax, 0x553ff3fc
jne 0x4223a0
mov eax, dword [0x4b3fd0]
mov ebx, 0x54e982d9
mov edi, 0x76f5c269
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x76f5c269
jmp 0x42326a
cmp eax, 0xab545633
jle 0x422816
cmp eax, 0xab545634
je 0x422a53
cmp eax, 0xbaaac6b2
je 0x422a79
cmp eax, 0xc06afd9d
jne 0x4223a0
mov edx, dword [0x4b3fd0]
mov ecx, dword [0x4b3fcc]
mov edi, 0x76f5c269
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, 0x553ff3fc
jmp 0x422801
cmp eax, 0x2e4aca29
jle 0x422871
cmp eax, 0x2e4aca2a
je 0x422aac
cmp eax, 0x342121d9
je 0x422b10
cmp eax, 0x3bba8190
jne 0x4223a0
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
call fcn.004017a0
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
add eax, 0x14
mov dword [esi], eax
mov eax, 0xdaab413e
nop dword [eax]
cmp eax, 0x67f0cec4
je 0x422b1a
cmp eax, 0xdaab413e
jne 0x4225f0
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, 0x67f0cec4
jmp 0x4225f0
cmp eax, 0xf2ba4c8f
jle 0x422891
cmp eax, 0xf2ba4c90
je 0x422b5d
cmp eax, 0xf3e877a4
je 0x422b67
cmp eax, 0xf6ad5a12
jne 0x4223a0
mov eax, dword [esi + 0x4c]
vmovsd xmm0, qword [esi + 0x98]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00444394
fstp st(0)
add esp, 0xc
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0xa7c5ac5
imul edx, ecx, 0x7597
mov ecx, dword [esi + 0x1c]
shr edx, 5
mulx eax, eax, eax
shr eax, 7
add eax, dword [ecx]
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, 0xa6866994
jmp 0x4223a0
cmp eax, 0x6e058171
jle 0x4228bd
cmp eax, 0x6e058172
je 0x422b74
cmp eax, 0x6ea6f859
je 0x422bd0
cmp eax, 0x76f5c269
jne 0x4223a0
mov eax, 0x553ff3fc
jmp 0x4223a0
cmp eax, 0x8904f8f2
je 0x42235e
cmp eax, 0x92018ccc
jne 0x4232a3
mov ecx, dword [esi + 4]
call fcn.0041bc20
mov dword [esi + 0x8c], eax
mov edi, 0x1b85fe50
mov ebx, 0x45e694ab
mov eax, dword [esi + 0x64]
movzx eax, byte [eax]
mov byte [esi + 0x2b], al
mov eax, dword [0x4b3fd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x45e694ab
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x42237f
cmp eax, 0xf76a0152
je 0x422bfc
cmp eax, 0xf85cb89a
jne 0x4223a0
mov edx, dword [0x4b3fd0]
mov ecx, dword [0x4b3fcc]
mov edi, 0x7aa0d9c
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, 0xddecd491
cmovne edi, ebx
test edx, eax
mov edx, dword [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0x90], xmm0
jmp 0x4223a0
cmp eax, 0xc10061eb
je 0x422c49
cmp eax, 0xc5c6987c
jne 0x4223a0
mov eax, dword [0x4b3fd0]
mov ebx, 0x92018ccc
mov edi, 0x45e694ab
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x45e694ab
jmp 0x42326a
cmp eax, 0x45e694ab
je 0x422c53
cmp eax, 0x4fe33b85
jne 0x4223a0
mov edx, dword [0x4b3fd0]
mov ecx, dword [0x4b3fcc]
mov edi, 0x7aa0d9c
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, 0xf85cb89a
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x4223a0
cmp eax, 0xa32eaa67
je 0x422c68
cmp eax, 0xa6866994
jne 0x4223a0
mov edx, dword [0x4b3fd0]
mov ecx, dword [0x4b3fcc]
mov edi, 0x2e4aca2a
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, 0x6e058172
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4223a0
cmp eax, 0x12d68a3a
je 0x422c72
cmp eax, 0x1b85fe50
jne 0x4223a0
mov eax, 0x946b201d
jmp 0x4223a0
cmp eax, 0xddecd491
je 0x422cc2
cmp eax, 0xe0c28fd8
jne 0x4223a0
cmp byte [esi + 0x28], 0
mov eax, 0x8904f8f2
mov ecx, 0x9ce7e0eb
cmovne eax, ecx
jmp 0x4223a0
cmp eax, 0x5bc5be48
je 0x422ccc
cmp eax, 0x5df5fec6
jne 0x4223a0
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x64], eax
push eax
mov eax, esp
mov dword [esi + 0x18], eax
push eax
mov eax, esp
mov dword [esi + 0x6c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 4], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
push eax
mov eax, esp
mov dword [esi + 0x44], 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 + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x48], eax
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x4c], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 8
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, esp
mov dword [esi + 0x70], eax
movzx ecx, byte [ebp + 0x18]
mov ebx, 0xf2ba4c90
mov edi, 0xfcfe8504
mov eax, dword [esi + 0x14]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x64]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x18]
mov dword [eax], ecx
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x84]
mov dword [eax], ecx
mov eax, dword [0x4b3fd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xfcfe8504
jmp 0x42326a
mov eax, dword [esi + 0x4c]
mov eax, 0xc814fd52
jmp 0x4223a0
mov dword [esi + 0x3c], 0xffffffff
mov eax, 0x12d68a3a
mov dword [esi + 0x38], 0xffffffff
jmp 0x4223a0
mov eax, 0x5df5fec6
jmp 0x4223a0
mov eax, dword [esi + 0x14]
mov eax, 0xf85cb89a
jmp 0x4223a0
mov eax, dword [esi + 0x14]
vmovsd xmm0, qword [eax]
mov eax, 0xf6ad5a12
vmovsd qword [esi + 0x98], xmm0
jmp 0x4223a0
mov edx, dword [0x4b3fd0]
mov ecx, dword [0x4b3fcc]
mov edi, 0xf3e877a4
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, 0xa32eaa67
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x18]
cmovge eax, edi
mov ecx, dword [ecx]
mov dword [esi + 0x74], ecx
jmp 0x4223a0
cmp byte [esi + 0x29], 0
mov eax, 0xa6866994
mov ecx, 0x969603bf
cmovne eax, ecx
jmp 0x4223a0
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x38], eax
mov eax, 0x12d68a3a
jmp 0x4223a0
mov eax, dword [0x4b3fd0]
mov edi, 0x6ea6f859
mov ebx, 0xbaaac6b2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xbaaac6b2
jmp 0x42237f
mov eax, dword [esi + 0x74]
mov ecx, 0x6f6e20d4
add eax, 0x18
nop word cs:[eax + eax]
cmp ecx, 0x6f6e20d4
je 0x422aa5
cmp ecx, 0x15060fec
jne 0x422a90
jmp 0x422cf2
mov ecx, 0x15060fec
jmp 0x422a90
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add eax, 0x32
push 0
push eax
call fcn.00433170
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x14]
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x50], xmm0
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
add eax, 0x14
mov dword [esi], eax
mov eax, 0xdaab413e
nop word cs:[eax + eax]
cmp eax, 0x67f0cec4
je 0x422d02
cmp eax, 0xdaab413e
jne 0x422af0
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, 0x67f0cec4
jmp 0x422af0
mov eax, 0xc5c6987c
jmp 0x4223a0
mov eax, dword [esi + 8]
mov ecx, eax
xor ecx, 0xffffcfff
and ecx, eax
mov eax, dword [esi + 0x2c]
mov dword [eax], ecx
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x2c]
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x44]
sete byte [eax]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x2c]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x34]
sete byte [eax]
mov eax, dword [esi + 0x30]
mov eax, 0x5bc5be48
jmp 0x4223a0
mov eax, 0x3bba8190
jmp 0x4223a0
mov eax, dword [esi + 0x18]
mov eax, 0xcc9c7214
jmp 0x4223a0
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add eax, 0x32
push 0
push eax
call fcn.00433170
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x14]
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x50], xmm0
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
add eax, 0x14
mov dword [esi], eax
mov eax, 0xdaab413e
nop dword [eax]
cmp eax, 0x67f0cec4
je 0x422dc4
cmp eax, 0xdaab413e
jne 0x422bb0
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, 0x67f0cec4
jmp 0x422bb0
mov eax, dword [esi + 0x74]
mov ecx, 0x6f6e20d4
add eax, 0x18
nop dword [eax + eax]
cmp ecx, 0x6f6e20d4
je 0x422bf5
cmp ecx, 0x15060fec
jne 0x422be0
jmp 0x422e84
mov ecx, 0x15060fec
jmp 0x422be0
mov edx, dword [0x4b3fd0]
mov ecx, dword [0x4b3fcc]
mov edi, 0xd66d01b7
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, 0xe0c28fd8
cmovne edi, ebx
test edx, eax
mov edx, dword [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
cmp byte [edx], 0
setne byte [esi + 0x28]
jmp 0x4223a0
mov eax, 0xc06afd9d
jmp 0x4223a0
mov ecx, dword [esi + 4]
call fcn.0041bc20
mov eax, dword [esi + 0x64]
mov eax, 0x92018ccc
jmp 0x4223a0
mov eax, 0xab545634
jmp 0x4223a0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x38]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.00439a70
add esp, 0xc
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov ecx, 0xa6866994
mov eax, dword [esi + 0x44]
cmp byte [eax], 0
mov eax, 0x4fe33b85
cmove eax, ecx
jmp 0x4223a0
mov eax, 0x9df5b218
jmp 0x4223a0
mov eax, dword [0x4b3fd0]
mov ebx, 0xf76a0152
mov edi, 0xd66d01b7
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xd66d01b7
jmp 0x423272
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, 0x6ea6f859
jmp 0x4223a0
push dword [esi + 8]
push 0
push dword [esi + 0x40]
push dword [esi + 0x68]
call fcn.00433900
add esp, 0x10
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 4]
mov ecx, dword [0x4b3fe8]
add eax, 0x10
mov dword [esi], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4b3fe4], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0xdf6f2b31
not dl
or dl, ch
mov ecx, 0xef180c92
test dl, 1
mov edx, 0x18f17654
cmovne eax, ecx
mov ecx, 0xdf6f2b31
cmovne ecx, edx
mov edx, 0xebc401a2
nop dword [eax + eax]
cmp edx, 0xef180c91
jle 0x422da0
cmp edx, 0xef180c92
je 0x422db4
cmp edx, 0x23668ff
je 0x422eb4
cmp edx, 0x18f17654
jne 0x422d70
mov edx, dword [esi]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, eax
jmp 0x422d70
cmp edx, 0xdf6f2b31
je 0x422dbb
cmp edx, 0xebc401a2
jne 0x422d70
mov edx, ecx
jmp 0x422d70
mov edx, 0x23668ff
jmp 0x422d70
mov edx, dword [esi]
mov edx, 0x18f17654
jmp 0x422d70
push dword [esi + 8]
push 0
push dword [esi + 0x40]
push dword [esi + 0x68]
call fcn.00433900
add esp, 0x10
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 4]
add eax, 0x10
mov dword [esi], eax
mov eax, dword [0x4b3fe8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4b3fe4], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0xdf6f2b31
or cl, dl
mov ecx, 0xef180c92
mov edx, 0x18f17654
cmovne eax, ecx
mov ecx, 0xdf6f2b31
cmovne ecx, edx
mov edx, 0xebc401a2
nop dword [eax]
cmp edx, 0xef180c91
jle 0x422e60
cmp edx, 0xef180c92
je 0x422e74
cmp edx, 0x23668ff
je 0x422f52
cmp edx, 0x18f17654
jne 0x422e30
mov edx, dword [esi]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, eax
jmp 0x422e30
cmp edx, 0xdf6f2b31
je 0x422e7b
cmp edx, 0xebc401a2
jne 0x422e30
mov edx, ecx
jmp 0x422e30
mov edx, 0x23668ff
jmp 0x422e30
mov edx, dword [esi]
mov edx, 0x18f17654
jmp 0x422e30
mov dword [esi + 8], eax
mov ebx, 0xc10061eb
mov edi, 0xbaaac6b2
mov eax, dword [esi + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x7c], eax
mov eax, dword [0x4b3fd0]
mov dword [esi + 0x78], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xbaaac6b2
jmp 0x42326a
mov ebx, dword [esi + 8]
mov eax, dword [esi + 4]
mov ecx, dword [0x4b3fe0]
mov edi, 0xe68bbe09
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x4b3fdc], 0xa
setl dl
or dl, cl
mov ecx, 0xb9bed6d9
mov edx, 0xe68bbe09
cmovne edi, ecx
mov ecx, 0x70ea01fd
cmovne edx, ecx
mov ecx, 0x1a5075d3
nop dword [eax + eax]
cmp ecx, 0x1a5075d2
jle 0x422f30
cmp ecx, 0x1a5075d3
je 0x422f47
cmp ecx, 0x552e8d07
je 0x422ff2
cmp ecx, 0x70ea01fd
jne 0x422f00
mov ecx, edi
jmp 0x422f00
cmp ecx, 0xb9bed6d9
je 0x422f4b
cmp ecx, 0xe68bbe09
jne 0x422f00
mov ecx, 0x70ea01fd
jmp 0x422f00
mov ecx, edx
jmp 0x422f00
mov ecx, 0x552e8d07
jmp 0x422f00
mov ebx, dword [esi + 8]
mov eax, dword [esi + 4]
mov ecx, dword [0x4b3fe0]
mov edi, 0xe68bbe09
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x4b3fdc], 0xa
setl dl
or dl, cl
mov ecx, 0xb9bed6d9
mov edx, 0xe68bbe09
cmovne edi, ecx
mov ecx, 0x70ea01fd
cmovne edx, ecx
mov ecx, 0x1a5075d3
nop dword [eax]
cmp ecx, 0x1a5075d2
jle 0x422fd0
cmp ecx, 0x1a5075d3
je 0x422fe7
cmp ecx, 0x552e8d07
je 0x423107
cmp ecx, 0x70ea01fd
jne 0x422fa0
mov ecx, edi
jmp 0x422fa0
cmp ecx, 0xb9bed6d9
je 0x422feb
cmp ecx, 0xe68bbe09
jne 0x422fa0
mov ecx, 0x70ea01fd
jmp 0x422fa0
mov ecx, edx
jmp 0x422fa0
mov ecx, 0x552e8d07
jmp 0x422fa0
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
call fcn.00419350
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x50]
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x5c]
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.00427f90
add esp, 0x18
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
vmovsd xmm0, qword [eax]
mov eax, 0x9b1045b1
vmovsd qword [esi + 8], xmm0
nop
cmp eax, 0xdd851e21
jle 0x423070
cmp eax, 0xdd851e22
je 0x4230a2
cmp eax, 0x56c4b65e
je 0x4230a9
cmp eax, 0x6e4b524b
jne 0x423040
jmp 0x423239
cmp eax, 0x9b1045b1
je 0x4230c8
cmp eax, 0xc38ed4ba
jne 0x423040
vmovsd xmm0, qword [esi + 8]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.0043a590
add esp, 8
mov dword [esi + 0x50], eax
mov eax, dword [0x4b3fc8]
mov ebx, 0xdd851e22
jmp 0x4230d2
mov eax, 0x6e4b524b
jmp 0x423040
vmovsd xmm0, qword [esi + 8]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.0043a590
add esp, 8
mov eax, 0xc38ed4ba
jmp 0x423040
mov eax, dword [0x4b3fc8]
mov ebx, 0xc38ed4ba
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x56c4b65e
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4b3fc4], 0xa
mov edi, 0x56c4b65e
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x423040
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
call fcn.00419350
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x50]
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x5c]
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.00427f90
add esp, 0x18
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
vmovsd xmm0, qword [eax]
mov eax, 0x9b1045b1
vmovsd qword [esi + 8], xmm0
nop word cs:[eax + eax]
cmp eax, 0xdd851e21
jle 0x423190
cmp eax, 0xdd851e22
je 0x4231d4
cmp eax, 0x56c4b65e
je 0x4231db
cmp eax, 0x6e4b524b
jne 0x423160
jmp 0x42328f
cmp eax, 0x9b1045b1
je 0x4231fa
cmp eax, 0xc38ed4ba
jne 0x423160
vmovsd xmm0, qword [esi + 8]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.0043a590
add esp, 8
mov dword [esi + 0x50], eax
mov eax, dword [0x4b3fc8]
mov ebx, 0xdd851e22
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x56c4b65e
jmp 0x423217
mov eax, 0x6e4b524b
jmp 0x423160
vmovsd xmm0, qword [esi + 8]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.0043a590
add esp, 8
mov eax, 0xc38ed4ba
jmp 0x423160
mov eax, dword [0x4b3fc8]
mov ebx, 0xc38ed4ba
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x56c4b65e
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4b3fc4], 0xa
mov edi, 0x56c4b65e
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x423160
mov eax, dword [esi + 0x50]
mov ebx, 0x342121d9
mov edi, 0x6e058172
mov dword [esi], eax
cmp dword [esi], 0
setle byte [esi + 0x2a]
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov eax, dword [0x4b3fd0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x6e058172
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4b3fcc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x4223a0
mov eax, dword [esi + 0x50]
mov dword [esi], eax
mov eax, dword [esi]
mov eax, dword [esi + 0x20]
mov eax, 0x2e4aca2a
jmp 0x4223a0
cmp eax, 0x946b201d
jne 0x4223a0
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x3c], eax
lea eax, [ebp + 0xc]
mov ecx, dword [esi + 0x70]
vmovsd xmm0, qword [eax]
vmovsd qword [ecx], xmm0
mov edx, dword [esi + 0x70]
mov eax, dword [esi + 0x68]
mov dword [esi + 0x38], eax
movzx edi, byte [esi + 0x2a]
mov ebx, dword [esi + 0x88]
mov eax, dword [esi + 0x8c]
movsx ecx, byte [esi + 0x2b]
sub esp, 0x20
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov edi, dword [ebp + 8]
mov dword [esp + 0x18], ebx
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
mov dword [esp], edi
mov dword [esp + 0xc], eax
call fcn.004352a0
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 4]
call section..text
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xa0]
xor ecx, ebp
call fcn.0043d670
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c