Function at 0x433716
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x15c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x158], eax
push ebx
push esi
push edi
mov dword [esp + 0x10], edx
mov esi, ecx
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x24]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x10]
nop dword [eax]
mov edx, dword [esi + 0x70]
mov dword [esp + 0x14], edx
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x30]
mov dword [esp + 0x38], edi
mov edi, dword [ecx + 0x10]
test edx, edx
je 0x430bdb
cmp edi, dword [eax + 0x34]
jne 0x430bd4
cmp byte [eax + 7], 0
je 0x430b96
mov eax, dword [ecx]
xor edx, edx
add eax, 0x10
mov dword [esp + 0x14], edx
mov dword [ecx + 0x14], 1
mov dword [esp + 0x1c], eax
jmp case.default.0x430c61
mov eax, dword [esi + 0x70]
mov dword [esi + 0x64], 0
test al, 1
je 0x430bd4
mov eax, dword [ecx]
movzx edx, word [ecx + 0x22]
shr edx, 3
and edx, 4
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add dword [ecx + 0x10], 4
mov ecx, esi
movzx eax, byte [eax + 6]
push eax
push 1
push 0xffffffffffffffff
call fcn.0040e5c0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add dword [ecx + 0x10], 0xfffffffc
mov dword [ecx + 0x14], 1
mov eax, dword [ecx]
add eax, 0x10
mov dword [esp + 0x1c], eax
jmp case.default.0x430c61
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x430c2c
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
jmp 0x430c2c
mov edi, dword [esp + 0x18]
jmp case.default.0x430c61
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
jmp 0x430c2c
movsd qword [eax], xmm0
mov byte [eax + 8], 0x13
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test edx, edx
je 0x430c4a
mov edx, edi
mov ecx, esi
call fcn.0040dfd0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ecx]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov edx, dword [edi]
mov eax, edx
add edi, 4
mov dword [esp + 0x2c], edx
and eax, 0x7f
mov dword [esp + 0x18], edi
cmp eax, 0x51
ja case.default.0x430c61
jmp dword [eax*4 + 0x434afc]
mov eax, edx
shr edx, 0x10
shr eax, 7
movzx esi, al
movzx edx, dl
shl esi, 4
add esi, dword [esp + 0x1c]
shl edx, 4
add edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + 8]
mov byte [esi + 8], al
jmp 0x430c20
mov eax, edx
shr edx, 0xf
shr eax, 7
movzx ecx, al
xor eax, eax
shl ecx, 4
add ecx, dword [esp + 0x1c]
sub edx, 0xffff
sbb eax, eax
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov byte [ecx + 8], 3
jmp 0x430c24
mov esi, dword [esp + 0xc]
mov eax, edx
shr eax, 7
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
shr edx, 0xf
sub edx, 0xffff
mov byte [eax + 8], 0x13
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movsd qword [eax], xmm0
jmp case.default.0x430c61
mov ecx, dword [esp + 0x2c]
mov eax, edx
shr eax, 7
movzx edx, al
shr ecx, 0xf
shl edx, 4
add edx, dword [esp + 0x1c]
shl ecx, 4
add ecx, dword [esp + 0x38]
mov dword [esp + 0x2c], ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx], eax
mov eax, dword [esp + 0x2c]
mov dword [edx + 4], ecx
mov al, byte [eax + 8]
mov byte [edx + 8], al
jmp 0x430c24
mov esi, dword [edi]
add edi, 4
shr edx, 7
shr esi, 7
movzx edx, dl
shl esi, 4
add esi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x1c]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov al, byte [esi + 8]
mov byte [edx + 8], al
jmp 0x430c20
shr edx, 7
movzx eax, dl
mov edx, dword [esp + 0x1c]
add eax, eax
mov byte [edx + eax*8 + 8], 1
jmp case.default.0x430c61
shr edx, 7
movzx eax, dl
mov edx, dword [esp + 0x1c]
add eax, eax
add edi, 4
mov byte [edx + eax*8 + 8], 1
jmp case.default.0x430c61
shr edx, 7
movzx eax, dl
mov edx, dword [esp + 0x1c]
add eax, eax
mov byte [edx + eax*8 + 8], 0x11
jmp case.default.0x430c61
mov eax, edx
shr eax, 7
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
shr edx, 0x10
movzx ecx, dl
lea edx, [eax + 8]
nop dword [eax]
mov eax, ecx
mov byte [edx], 0
dec ecx
lea edx, [edx + 0x10]
test eax, eax
jne 0x430dc0
jmp 0x430c24
mov ecx, dword [esp + 0x4c]
mov eax, edx
shr eax, 7
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shr edx, 0x10
movzx eax, dl
mov eax, dword [ecx + eax*4 + 0x10]
mov edx, dword [eax + 8]
jmp 0x430c84
mov ecx, dword [esp + 0x4c]
mov eax, edx
shr eax, 7
shr edx, 0x10
movzx esi, al
movzx eax, dl
shl esi, 4
add esi, dword [esp + 0x1c]
mov edi, dword [ecx + eax*4 + 0x10]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [edi + 8]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [edx], eax
mov al, byte [esi + 8]
mov byte [edx + 8], al
test byte [esi + 8], 0x40
mov edx, dword [esp + 0x14]
je 0x430bfe
mov cl, byte [edi + 5]
test cl, 0x20
je 0x430bf0
mov esi, dword [esi]
test byte [esi + 5], 0x18
je 0x430bf0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x4d], 2
ja 0x430e8f
mov edx, esi
mov ecx, eax
call fcn.00410910
mov al, byte [edi + 5]
mov edi, dword [esp + 0x18]
and al, 7
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp al, 1
jbe 0x434190
mov al, byte [esi + 5]
and al, 0xfa
or al, 2
mov byte [esi + 5], al
jmp 0x430c20
cmp byte [eax + 0x4e], 0
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
jne 0x430c0e
mov al, byte [eax + 0x4c]
and cl, 0xc7
and al, 0x18
or al, cl
mov byte [edi + 5], al
mov edi, dword [esp + 0x18]
jmp 0x430c24
mov esi, dword [esp + 0x4c]
mov eax, edx
shr eax, 7
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
mov dword [esp + 0x34], eax
mov eax, edx
shr eax, 0x10
movzx eax, al
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x38]
mov eax, dword [esi + eax*4 + 0x10]
mov dword [esp + 0x2c], edx
mov edi, dword [edx]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
cmp byte [eax + 8], 0x45
je 0x430efb
xor esi, esi
jmp 0x430f5e
mov edx, dword [eax]
mov eax, 1
mov cl, byte [edx + 7]
shl eax, cl
dec eax
and eax, dword [edi + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
cmp byte [esi + 9], 0x44
jne 0x430f1f
cmp dword [esi + 0x10], edi
je 0x430f33
mov eax, dword [esi + 0xc]
test eax, eax
je 0x430f2e
lea eax, [eax + eax*2]
lea esi, [esi + eax*8]
jmp 0x430f14
mov esi, 0x436c60
test byte [esi + 8], 0xf
je 0x430f56
mov edi, dword [esp + 0x34]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov al, byte [esi + 8]
mov byte [edi + 8], al
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
push esi
push edi
push edx
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xc], eax
mov esi, ecx
call fcn.0042f6a0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 7
movzx eax, al
shl eax, 4
add eax, esi
mov dword [esp + 0x34], eax
mov eax, edx
shr edx, 0x18
shr eax, 0x10
shl edx, 4
add edx, esi
movzx edi, al
shl edi, 4
add edi, esi
mov dword [esp + 0x2c], edx
cmp byte [edx + 8], 3
jne 0x431021
cmp byte [edi + 8], 0x45
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [esp + 0x30], eax
je 0x430fee
mov ecx, dword [esp + 0x10]
xor esi, esi
push esi
push dword [esp + 0x38]
push edx
mov edx, edi
jmp 0x430f69
mov esi, dword [edi]
mov edx, ecx
add edx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x431010
jb 0x431003
cmp edx, dword [esi + 8]
jae 0x431010
mov esi, dword [esi + 0xc]
shl ecx, 4
add esi, 0xfffffff0
add esi, ecx
jmp 0x43103f
push dword [esp + 0x30]
push ecx
mov ecx, esi
call fcn.0042ad70
add esp, 8
jmp 0x43103d
cmp byte [edi + 8], 0x45
je 0x431036
xor esi, esi
push esi
push dword [esp + 0x38]
push edx
mov edx, edi
jmp 0x430f69
mov ecx, dword [edi]
call fcn.0042af00
mov esi, eax
test byte [esi + 8], 0xf
mov eax, 0
setne al
test eax, eax
je 0x43106c
mov edx, dword [esp + 0x34]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edi, dword [esp + 0x18]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov al, byte [esi + 8]
mov byte [edx + 8], al
jmp 0x430c20
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
push esi
push dword [esp + 0x38]
push edx
mov edx, edi
jmp 0x430f69
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
shl edi, 4
add edi, dword [esp + 0x1c]
shr edx, 0x18
cmp byte [eax + 8], 0x45
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], edx
je 0x4310b4
xor esi, esi
jmp 0x431123
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0x34], eax
mov esi, edx
add esi, 0xffffffff
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
mov eax, ecx
adc eax, 0xffffffff
test eax, eax
ja 0x4310ec
jb 0x4310d9
cmp esi, dword [esp + 0x30]
jae 0x4310ec
mov eax, dword [esp + 0x34]
mov esi, edx
shl esi, 4
mov eax, dword [eax + 0xc]
add eax, 0xfffffff0
add esi, eax
jmp 0x431100
push ecx
mov ecx, dword [esp + 0x38]
push edx
call fcn.0042ad70
mov edx, dword [esp + 0x34]
add esp, 8
mov esi, eax
test byte [esi + 8], 0xf
je 0x43111f
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov al, byte [esi + 8]
mov byte [edi + 8], al
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x140], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
push esi
push edi
mov byte [esp + 0x150], 3
mov dword [ecx + 0xc], eax
lea eax, [esp + 0x148]
push eax
jmp 0x430f7a
mov eax, edx
shr eax, 7
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
mov dword [esp + 0x34], eax
mov eax, edx
shr eax, 0x10
movzx eax, al
shr edx, 0x18
shl eax, 4
add eax, dword [esp + 0x1c]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
cmp byte [eax + 8], 0x45
mov dword [esp + 0x2c], edx
mov edi, dword [edx]
je 0x4311a2
xor esi, esi
jmp 0x430f5e
mov edx, dword [eax]
mov eax, 1
mov cl, byte [edx + 7]
shl eax, cl
dec eax
and eax, dword [edi + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
nop dword [eax + eax]
cmp byte [esi + 9], 0x44
jne 0x4311cf
cmp dword [esi + 0x10], edi
je 0x430f33
mov eax, dword [esi + 0xc]
test eax, eax
je 0x430f2e
lea eax, [eax + eax*2]
lea esi, [esi + eax*8]
jmp 0x4311c0
mov ecx, dword [esp + 0x4c]
mov eax, edx
mov esi, dword [esp + 0x38]
shr eax, 7
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x10]
mov ecx, dword [eax + 8]
mov eax, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
test edx, 0x8000
je 0x431220
shr edx, 0x18
shl edx, 4
add edx, esi
jmp 0x43122a
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x1c]
cmp byte [ecx + 8], 0x45
mov edi, dword [eax]
mov dword [esp + 0x2c], edx
je 0x43123d
xor esi, esi
jmp 0x43131a
mov edx, dword [ecx]
mov eax, 1
mov cl, byte [edx + 7]
shl eax, cl
dec eax
and eax, dword [edi + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
cmp byte [esi + 9], 0x44
jne 0x431261
cmp dword [esi + 0x10], edi
je 0x431275
mov eax, dword [esi + 0xc]
test eax, eax
je 0x431270
lea eax, [eax + eax*2]
lea esi, [esi + eax*8]
jmp 0x431256
mov esi, 0x436c60
test byte [esi + 8], 0xf
je 0x431316
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [esi], eax
mov al, byte [edx + 8]
mov byte [esi + 8], al
test byte [edx + 8], 0x40
mov esi, dword [esp + 0xc]
je case.default.0x430c61
mov esi, dword [esp + 0x34]
mov esi, dword [esi]
mov cl, byte [esi + 5]
test cl, 0x20
je 0x430c20
mov eax, dword [edx]
mov edx, dword [esp + 0x14]
test byte [eax + 5], 0x18
je 0x430bf4
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x10]
mov al, cl
and al, 7
cmp al, 6
je 0x4312ee
mov ecx, esi
call fcn.004107f0
mov ecx, eax
mov eax, dword [edx + 0x68]
mov dword [ecx], eax
mov dword [edx + 0x68], esi
mov cl, byte [esi + 5]
mov edi, dword [esp + 0x18]
and cl, 0xc7
mov edx, dword [esp + 0x14]
mov al, cl
and al, 7
mov byte [esi + 5], cl
cmp al, 1
jbe 0x430bf4
and cl, 0xfd
or cl, 5
mov byte [esi + 5], cl
jmp 0x430c20
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
push esi
push edx
push dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov esi, ecx
mov dword [eax + 0x10], edi
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.0042f7d0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx eax, al
shl edi, 4
shl eax, 4
add edi, esi
add eax, esi
mov dword [esp + 0x3c], eax
test edx, 0x8000
je 0x431389
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x38]
jmp 0x431391
shr edx, 0x18
shl edx, 4
add edx, esi
cmp byte [eax + 8], 3
mov dword [esp + 0x2c], edx
jne 0x43141a
cmp byte [edi + 8], 0x45
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
je 0x4313e7
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
push esi
push edx
push dword [esp + 0x44]
mov edx, edi
mov dword [ecx + 0xc], eax
mov esi, ecx
call fcn.0042f7d0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov esi, dword [edi]
mov edx, ecx
add edx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x431409
jb 0x4313fc
cmp edx, dword [esi + 8]
jae 0x431409
mov eax, dword [esi + 0xc]
shl ecx, 4
lea esi, [ecx - 0x10]
add esi, eax
jmp 0x43142f
push dword [esp + 0x30]
push ecx
mov ecx, esi
call fcn.0042ad70
add esp, 8
jmp 0x43142d
cmp byte [edi + 8], 0x45
je 0x431424
xor esi, esi
jmp 0x4313b0
mov ecx, dword [edi]
mov edx, eax
call fcn.0042af00
mov esi, eax
test byte [esi + 8], 0xf
mov eax, 0
mov edx, dword [esp + 0x2c]
setne al
test eax, eax
je 0x4313ac
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [esi], eax
mov al, byte [edx + 8]
mov byte [esi + 8], al
test byte [edx + 8], 0x40
mov esi, dword [esp + 0xc]
je 0x430c08
mov esi, dword [edi]
mov edi, dword [esp + 0x18]
mov cl, byte [esi + 5]
test cl, 0x20
je 0x430c20
mov eax, dword [edx]
mov edx, dword [esp + 0x14]
test byte [eax + 5], 0x18
je 0x430bf4
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x10]
mov al, cl
and al, 7
cmp al, 6
je 0x4314ae
mov ecx, esi
call fcn.004107f0
mov ecx, eax
mov eax, dword [edx + 0x68]
mov dword [ecx], eax
mov dword [edx + 0x68], esi
mov cl, byte [esi + 5]
mov edi, dword [esp + 0x18]
and cl, 0xc7
mov edx, dword [esp + 0x14]
mov al, cl
and al, 7
mov byte [esi + 5], cl
cmp al, 1
jbe 0x430bf4
and cl, 0xfd
or cl, 5
mov byte [esi + 5], cl
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shl edi, 4
add edi, dword [esp + 0x1c]
shr eax, 0x10
movzx esi, al
mov dword [esp + 0x3c], esi
test edx, 0x8000
je 0x431505
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x38]
jmp 0x43150f
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x1c]
cmp byte [edi + 8], 0x45
mov dword [esp + 0x2c], edx
je 0x431520
xor esi, esi
jmp 0x431603
mov eax, dword [edi]
mov ecx, esi
add ecx, 0xffffffff
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
mov eax, 0
adc eax, 0xffffffff
test eax, eax
ja 0x431553
jb 0x431542
cmp ecx, dword [esp + 0x30]
jae 0x431553
mov eax, dword [edi]
mov ecx, esi
shl ecx, 4
mov esi, dword [eax + 0xc]
add esi, 0xfffffff0
add esi, ecx
jmp 0x431566
mov ecx, dword [edi]
push 0
push esi
call fcn.0042ad70
mov edx, dword [esp + 0x34]
add esp, 8
mov esi, eax
test byte [esi + 8], 0xf
je 0x4315ff
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [esi], eax
mov al, byte [edx + 8]
mov byte [esi + 8], al
test byte [edx + 8], 0x40
mov esi, dword [esp + 0xc]
je 0x430c08
mov esi, dword [edi]
mov edi, dword [esp + 0x18]
mov cl, byte [esi + 5]
test cl, 0x20
je 0x430c20
mov eax, dword [edx]
mov edx, dword [esp + 0x14]
test byte [eax + 5], 0x18
je 0x430bf4
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x10]
mov al, cl
and al, 7
cmp al, 6
je 0x4315d7
mov ecx, esi
call fcn.004107f0
mov ecx, eax
mov eax, dword [edx + 0x68]
mov dword [ecx], eax
mov dword [edx + 0x68], esi
mov cl, byte [esi + 5]
mov edi, dword [esp + 0x18]
and cl, 0xc7
mov edx, dword [esp + 0x14]
mov al, cl
and al, 7
mov byte [esi + 5], cl
cmp al, 1
jbe 0x430bf4
and cl, 0xfd
or cl, 5
mov byte [esi + 5], cl
jmp 0x430c20
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
push esi
push edx
mov edx, edi
mov dword [esp + 0x15c], 0
mov dword [ecx + 0xc], eax
mov esi, ecx
lea eax, [esp + 0x158]
mov byte [esp + 0x160], 3
push eax
call fcn.0042f7d0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov esi, dword [esp + 0x1c]
mov eax, edx
mov edi, dword [esp + 0x38]
shr eax, 7
movzx ecx, al
mov eax, edx
shr eax, 0x10
movzx eax, al
shl ecx, 4
shl eax, 4
add ecx, esi
add eax, edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
test edx, 0x8000
je 0x431698
shr edx, 0x18
shl edx, 4
add edx, edi
jmp 0x4316a0
shr edx, 0x18
shl edx, 4
add edx, esi
cmp byte [ecx + 8], 0x45
mov edi, dword [eax]
mov dword [esp + 0x2c], edx
je 0x4316b3
xor esi, esi
jmp 0x43131a
mov edx, dword [ecx]
mov eax, 1
mov cl, byte [edx + 7]
shl eax, cl
dec eax
and eax, dword [edi + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
nop dword [eax]
cmp byte [esi + 9], 0x44
jne 0x4316db
cmp dword [esi + 0x10], edi
je 0x4316ef
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4316ea
lea eax, [eax + eax*2]
lea esi, [esi + eax*8]
jmp 0x4316d0
mov esi, 0x436c60
test byte [esi + 8], 0xf
je 0x431316
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [esi], eax
mov al, byte [edx + 8]
mov byte [esi + 8], al
test byte [edx + 8], 0x40
mov esi, dword [esp + 0xc]
je case.default.0x430c61
mov esi, dword [esp + 0x34]
mov esi, dword [esi]
mov cl, byte [esi + 5]
test cl, 0x20
je 0x430c20
mov eax, dword [edx]
mov edx, dword [esp + 0x14]
test byte [eax + 5], 0x18
je 0x430bf4
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x10]
mov al, cl
and al, 7
cmp al, 6
je 0x431768
mov ecx, esi
call fcn.004107f0
mov ecx, eax
mov eax, dword [edx + 0x68]
mov dword [ecx], eax
mov dword [edx + 0x68], esi
mov cl, byte [esi + 5]
mov edi, dword [esp + 0x18]
and cl, 0xc7
mov edx, dword [esp + 0x14]
mov al, cl
and al, 7
mov byte [esi + 5], cl
cmp al, 1
jbe 0x430bf4
and cl, 0xfd
or cl, 5
mov byte [esi + 5], cl
jmp 0x430c20
mov eax, edx
mov edi, edx
shr eax, 7
movzx ecx, al
mov eax, edx
shl ecx, 4
add ecx, dword [esp + 0x1c]
shr eax, 0x10
shr edi, 0x18
mov dword [esp + 0x34], ecx
movzx esi, al
test al, al
je 0x4317c2
lea ecx, [esi - 1]
mov esi, 1
shl esi, cl
mov ecx, dword [esp + 0x34]
test edx, 0x8000
je 0x4317d8
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
shr eax, 7
shl eax, 8
add edi, eax
add dword [esp + 0x18], 4
lea eax, [ecx + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, 5
push 0
push 0x20
mov dword [esp + 0x38], eax
mov dword [ecx + 0xc], eax
call fcn.00410860
mov ecx, dword [esp + 0x3c]
add esp, 8
mov dword [eax + 0x18], 0
mov word [eax + 6], 0x3f
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0x436c48
mov dword [eax + 0x14], 0
mov dword [ecx], eax
mov byte [ecx + 8], 0x45
test esi, esi
jne 0x431837
test edi, edi
je 0x43184b
push esi
mov esi, dword [esp + 0x10]
mov edx, eax
push edi
mov ecx, esi
call fcn.0042a450
add esp, 8
jmp 0x43184f
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp dword [eax + 0xc], 0
jle 0x430c2c
mov eax, ecx
mov dword [eax + 0x10], edi
mov eax, dword [esp + 0x30]
mov dword [esi + 0xc], eax
mov ecx, esi
call fcn.00412a50
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov ecx, dword [esp + 0x1c]
mov eax, edx
shr eax, 7
movzx esi, al
mov eax, edx
shr eax, 0x10
movzx edi, al
shl esi, 4
shl edi, 4
add esi, ecx
add edi, ecx
mov dword [esp + 0x3c], edi
test edx, 0x8000
je 0x4318c1
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x38]
jmp 0x4318c9
shr edx, 0x18
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov ecx, dword [edi + 4]
mov dword [esp + 0x30], eax
mov eax, dword [edi]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
mov al, byte [edi + 8]
mov byte [esi + 0x18], al
cmp byte [edi + 8], 0x45
mov dword [esp + 0x2c], edx
je 0x4318ee
xor ecx, ecx
jmp 0x431926
mov edx, dword [esp + 0x30]
mov ecx, dword [edi]
call fcn.0042ae70
mov ecx, eax
mov dword [esp + 0x30], ecx
test byte [ecx + 8], 0xf
je 0x431922
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edi, dword [esp + 0x18]
mov dword [esi], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 4], ecx
mov al, byte [eax + 8]
mov byte [esi + 8], al
jmp 0x430c20
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push ecx
push esi
mov dword [edi + 0x10], eax
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x14]
mov esi, edi
push edx
mov edx, dword [esp + 0x48]
mov ecx, esi
mov dword [edi + 0xc], eax
jmp 0x430f7c
mov eax, edx
shr eax, 7
movzx ecx, al
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shl ecx, 4
add ecx, dword [esp + 0x1c]
shr edx, 0x18
mov al, byte [esi + 8]
cmp al, 3
jne 0x431991
xor eax, eax
add edi, 4
add edx, dword [esi]
adc eax, dword [esi + 4]
sub edx, 0x7f
mov dword [ecx], edx
sbb eax, 0
mov byte [ecx + 8], 3
mov dword [ecx + 4], eax
jmp 0x430c20
cmp al, 0x13
jne 0x430c20
lea eax, [edx - 0x7f]
add edi, 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [esi]
mov byte [ecx + 8], 0x13
movsd qword [ecx], xmm0
jmp 0x430c20
mov ecx, dword [esp + 0x10]
mov eax, edx
shr eax, 0x10
mov esi, edx
movzx edi, al
shl edi, 4
add edi, dword [esp + 0x1c]
shr edx, 7
shr esi, 0x18
movzx edx, dl
mov al, byte [edi + 8]
shl esi, 4
add esi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x1c]
mov dword [esp + 0x30], edx
cmp al, 3
jne 0x431a26
cmp byte [esi + 8], 3
jne 0x431a16
mov ecx, dword [esi]
add dword [esp + 0x18], 4
add ecx, dword [edi]
mov eax, dword [esi + 4]
adc eax, dword [edi + 4]
mov edi, dword [esp + 0x18]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov byte [edx + 8], 3
jmp 0x430c20
mov edx, dword [edi + 4]
mov ecx, dword [edi]
call fcn.00435dc0
mov ecx, dword [esp + 0x10]
jmp 0x431a36
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [edi]
mov al, byte [esi + 8]
movsd qword [esp + 0x20], xmm0
cmp al, 0x13
jne 0x431a5d
movsd xmm0, qword [esi]
mov edi, dword [esp + 0x18]
addsd xmm0, qword [esp + 0x20]
mov eax, dword [esp + 0x30]
add edi, 4
jmp 0x430c18
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp al, 3
jne 0x434190
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.00435dc0
addsd xmm0, qword [esp + 0x20]
mov eax, dword [esp + 0x30]
add edi, 4
jmp 0x430c18
mov eax, edx
mov esi, edx
shr eax, 0x10
shr esi, 0x18
shr edx, 7
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
shl esi, 4
add esi, dword [esp + 0x38]
movzx edi, dl
shl edi, 4
add edi, dword [esp + 0x1c]
mov cl, byte [eax + 8]
cmp cl, 3
jne 0x431aea
cmp byte [esi + 8], 3
mov ecx, dword [eax]
jne 0x431ae0
add dword [esp + 0x18], 4
sub ecx, dword [esi]
mov eax, dword [eax + 4]
sbb eax, dword [esi + 4]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov edx, dword [eax + 4]
call fcn.00435dc0
jmp 0x431aff
mov edx, dword [esp + 0x14]
cmp cl, 0x13
mov ecx, dword [esp + 0x10]
jne 0x430bfe
movsd xmm0, qword [eax]
mov al, byte [esi + 8]
movsd qword [esp + 0x20], xmm0
cmp al, 0x13
jne 0x431b12
movsd xmm1, qword [esi]
jmp 0x431b2f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp al, 3
jne 0x430bfe
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.00435dc0
movaps xmm1, xmm0
movsd xmm0, qword [esp + 0x20]
add dword [esp + 0x18], 4
subsd xmm0, xmm1
movsd qword [edi], xmm0
mov byte [edi + 8], 0x13
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov eax, edx
mov esi, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
shr edx, 7
shr esi, 0x18
movzx edi, dl
mov cl, byte [eax + 8]
shl esi, 4
add esi, dword [esp + 0x38]
shl edi, 4
add edi, dword [esp + 0x1c]
cmp cl, 3
jne 0x431bae
cmp byte [esi + 8], cl
jne 0x432833
push dword [eax + 4]
add dword [esp + 0x1c], 4
push dword [eax]
push dword [esi + 4]
push dword [esi]
call fcn.00435ad0
mov dword [edi], eax
mov dword [edi + 4], edx
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov edx, dword [esp + 0x14]
cmp cl, 0x13
mov ecx, dword [esp + 0x10]
jne 0x430bfe
movsd xmm0, qword [eax]
mov al, byte [esi + 8]
movsd qword [esp + 0x20], xmm0
cmp al, 0x13
jne 0x431bd6
movsd xmm0, qword [esi]
jmp 0x431bf0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp al, 3
jne 0x430bfe
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.00435dc0
mulsd xmm0, qword [esp + 0x20]
add dword [esp + 0x18], 4
movsd qword [edi], xmm0
mov byte [edi + 8], 0x13
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 0x10
mov esi, edx
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x1c]
shr edx, 7
shr esi, 0x18
movzx edi, dl
mov al, byte [ecx + 8]
shl esi, 4
add esi, dword [esp + 0x38]
shl edi, 4
add edi, dword [esp + 0x1c]
mov dword [esp + 0x3c], edi
cmp al, 3
jne 0x431cf6
cmp byte [esi + 8], al
jne 0x431cea
mov edi, dword [esi]
mov edx, edi
add dword [esp + 0x18], 4
add edx, 1
mov esi, dword [esi + 4]
mov eax, esi
adc eax, 0
test eax, eax
ja 0x431ca3
jb 0x431c74
cmp edx, 1
ja 0x431ca3
or edi, esi
je 0x434a90
mov eax, dword [esp + 0x3c]
xorps xmm0, xmm0
mov edi, dword [esp + 0x18]
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov byte [eax + 8], 3
jmp 0x430c20
push esi
push edi
push dword [ecx + 4]
push dword [ecx]
call fcn.00435b10
mov ecx, eax
or eax, edx
je 0x431cd4
mov eax, edi
xor eax, ecx
mov dword [esp + 0x30], eax
mov eax, esi
xor eax, edx
mov dword [esp + 0x24], eax
jg 0x431cd4
jl 0x431cd0
cmp dword [esp + 0x30], 0
jae 0x431cd4
add ecx, edi
adc edx, esi
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov byte [eax + 8], 3
jmp 0x430c20
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.00435dc0
jmp 0x431d06
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bf0
movsd xmm0, qword [ecx]
mov al, byte [esi + 8]
movsd qword [esp + 0x40], xmm0
cmp al, 0x13
jne 0x431d19
movsd xmm0, qword [esi]
jmp 0x431d33
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp al, 3
jne 0x430bfe
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.00435dc0
fld qword [esp + 0x40]
add dword [esp + 0x18], 4
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [esp + 0x40]
movsd xmm1, qword [esp + 0x40]
xorps xmm2, xmm2
comisd xmm1, xmm2
jbe 0x431d86
movsd xmm0, qword [esp + 0x20]
xor eax, eax
comisd xmm2, xmm0
seta al
test eax, eax
je 0x431d9c
addsd xmm1, xmm0
movsd qword [edi], xmm1
mov byte [edi + 8], 0x13
mov edi, dword [esp + 0x18]
jmp 0x430c20
comisd xmm2, xmm1
jbe 0x431d9c
movsd xmm0, qword [esp + 0x20]
comisd xmm0, xmm2
jbe 0x431d9c
addsd xmm1, xmm0
movsd qword [edi], xmm1
mov byte [edi + 8], 0x13
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx esi, al
mov eax, edx
shr eax, 0x10
movzx ecx, al
shr edx, 0x18
shl esi, 4
add esi, dword [esp + 0x1c]
shl ecx, 4
add ecx, dword [esp + 0x1c]
shl edx, 4
add edx, dword [esp + 0x38]
mov al, byte [ecx + 8]
mov dword [esp + 0x2c], edx
cmp al, 0x13
jne 0x431de6
movsd xmm0, qword [ecx]
jmp 0x431e00
mov edx, dword [esp + 0x14]
cmp al, 3
jne 0x430bf4
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.00435dc0
mov edx, dword [esp + 0x2c]
mov al, byte [edx + 8]
movsd qword [esp + 0x20], xmm0
cmp al, 0x13
jne 0x431e13
movsd xmm1, qword [edx]
jmp 0x431e30
mov ecx, dword [esp + 0x10]
cmp al, 3
jne 0x433771
mov eax, dword [esp + 0x2c]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.00435dc0
movaps xmm1, xmm0
movsd xmm0, qword [esp + 0x20]
add edi, 4
ucomisd xmm1, qword [0x4391e0]
lahf
test ah, 0x44
jp 0x431e58
mulsd xmm0, xmm0
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
jmp 0x430c20
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx esi, al
mov eax, edx
shr eax, 0x10
movzx ecx, al
shr edx, 0x18
shl esi, 4
add esi, dword [esp + 0x1c]
shl ecx, 4
add ecx, dword [esp + 0x1c]
shl edx, 4
add edx, dword [esp + 0x38]
mov al, byte [ecx + 8]
mov dword [esp + 0x2c], edx
cmp al, 0x13
jne 0x431ea3
movsd xmm0, qword [ecx]
jmp 0x431ebd
mov edx, dword [esp + 0x14]
cmp al, 3
jne 0x430bf4
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.00435dc0
mov edx, dword [esp + 0x2c]
mov al, byte [edx + 8]
movsd qword [esp + 0x20], xmm0
cmp al, 0x13
jne 0x431ed0
movsd xmm1, qword [edx]
jmp 0x431eed
mov ecx, dword [esp + 0x10]
cmp al, 3
jne 0x433771
mov eax, dword [esp + 0x2c]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.00435dc0
movaps xmm1, xmm0
movsd xmm0, qword [esp + 0x20]
add edi, 4
divsd xmm0, xmm1
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
jmp 0x430c20
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 0x10
mov esi, edx
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
shr edx, 7
shr esi, 0x18
movzx ecx, dl
mov dl, byte [eax + 8]
shl esi, 4
add esi, dword [esp + 0x38]
shl ecx, 4
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], ecx
cmp dl, 3
jne 0x432012
cmp byte [esi + 8], dl
jne 0x432006
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esi]
add dword [esp + 0x18], 4
mov dword [esp + 0x30], eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x34], esi
add dword [esp + 0x34], 1
mov dword [esp + 0x2c], eax
adc eax, 0
mov dword [esp + 0x40], edx
test eax, eax
ja 0x431fac
jb 0x431f89
cmp dword [esp + 0x34], 1
ja 0x431fac
or esi, dword [esp + 0x2c]
je 0x434a9e
neg edx
mov byte [ecx + 8], 3
mov dword [ecx], edx
adc edi, 0
neg edi
mov dword [ecx + 4], edi
mov edi, dword [esp + 0x18]
jmp 0x430c20
push ebx
push dword [esp + 0x30]
push esi
push edi
push edx
call fcn.004359f0
mov dword [esp + 0x34], ebx
pop ebx
xor esi, dword [esp + 0x40]
xor dword [esp + 0x2c], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], edi
jg 0x431fea
jl 0x431fda
test esi, esi
jae 0x431fea
or ecx, dword [esp + 0x30]
je 0x431fea
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x3c]
mov edx, eax
mov edi, dword [esp + 0x34]
mov dword [ecx + 4], edi
mov edi, dword [esp + 0x18]
mov dword [ecx], edx
mov byte [ecx + 8], 3
jmp 0x430c20
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.00435dc0
jmp 0x432027
mov ecx, dword [esp + 0x10]
cmp dl, 0x13
mov edx, dword [esp + 0x14]
jne 0x434190
movsd xmm0, qword [eax]
mov al, byte [esi + 8]
movsd qword [esp + 0x20], xmm0
cmp al, 0x13
jne 0x43203a
movsd xmm1, qword [esi]
jmp 0x432057
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp al, 3
jne 0x434190
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.00435dc0
movaps xmm1, xmm0
movsd xmm0, qword [esp + 0x20]
sub esp, 8
divsd xmm0, xmm1
add edi, 4
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov eax, dword [esp + 0x44]
add esp, 8
fstp qword [eax]
jmp 0x430c1c
mov ecx, dword [esp + 0x38]
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
mov eax, dword [esp + 0x38]
shr edx, 0x18
add edx, edx
shl esi, 4
add esi, dword [esp + 0x1c]
shl edi, 4
add edi, dword [esp + 0x1c]
mov eax, dword [eax + edx*8]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x4320e4
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], eax
jmp 0x43219c
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x432154
comisd xmm1, xmmword [0x439230]
jb 0x432154
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x432154
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0xb0], eax
mov ecx, edx
mov eax, 1
jmp 0x43215d
mov ecx, dword [esp + 0xac]
xor eax, eax
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0xc]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
add dword [esp + 0x18], 4
and ecx, dword [esp + 0x40]
and eax, dword [esp + 0x30]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov ecx, dword [esp + 0x38]
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
mov eax, dword [esp + 0x38]
shr edx, 0x18
add edx, edx
shl esi, 4
add esi, dword [esp + 0x1c]
shl edi, 4
add edi, dword [esp + 0x1c]
mov eax, dword [eax + edx*8]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x432218
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xb4], eax
jmp 0x4322d0
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x432288
comisd xmm1, xmmword [0x439230]
jb 0x432288
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x432288
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0xb8], eax
mov ecx, edx
mov eax, 1
jmp 0x432291
mov ecx, dword [esp + 0xb4]
xor eax, eax
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xc]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
add dword [esp + 0x18], 4
or ecx, dword [esp + 0x40]
or eax, dword [esp + 0x30]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov ecx, dword [esp + 0x38]
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
mov eax, dword [esp + 0x38]
shr edx, 0x18
add edx, edx
shl esi, 4
add esi, dword [esp + 0x1c]
shl edi, 4
add edi, dword [esp + 0x1c]
mov eax, dword [eax + edx*8]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x432349
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0xbc], eax
jmp 0x4323f5
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x4323b6
comisd xmm1, xmmword [0x439230]
jb 0x4323b6
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x4323b6
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0x58], eax
mov ecx, edx
mov eax, 1
jmp 0x4323bf
mov ecx, dword [esp + 0xbc]
xor eax, eax
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x58], edx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x58]
add dword [esp + 0x18], 4
xor ecx, dword [esp + 0x40]
xor eax, dword [esp + 0x30]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shl edi, 4
add edi, dword [esp + 0x1c]
shr edx, 0x18
mov al, byte [esi + 8]
sub edx, 0x7f
mov dword [esp + 0x2c], edx
cmp al, 3
jne 0x432469
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
jmp 0x43251d
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x4324d9
comisd xmm1, xmmword [0x439230]
jb 0x4324d9
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x4324d9
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0xcc], eax
mov ecx, edx
mov eax, 1
jmp 0x4324e2
mov ecx, dword [esp + 0xc0]
xor eax, eax
mov edx, dword [esp + 0xcc]
mov esi, dword [esp + 0xc]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov edx, dword [esp + 0x2c]
add dword [esp + 0x18], 4
neg edx
mov eax, edx
mov dword [esp + 0x2c], edx
cdq
test edx, edx
jg 0x432541
jl 0x432535
test eax, eax
jae 0x432565
cmp edx, 0xffffffff
jg 0x43254c
jl 0x432541
cmp eax, 0xffffffc0
ja 0x43254c
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
jmp 0x432596
mov eax, dword [esp + 0x2c]
movq xmm1, qword [esp + 0xd0]
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x432590
test edx, edx
jl 0x43257b
jg 0x432541
cmp eax, 0x40
jb 0x43257b
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
jmp 0x432596
movq xmm1, qword [esp + 0xd0]
mov eax, dword [esp + 0x2c]
movd xmm0, eax
psllq xmm1, xmm0
movq qword [esp + 0x20], xmm1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shl edi, 4
add edi, dword [esp + 0x1c]
shr edx, 0x18
mov al, byte [esi + 8]
mov dword [esp + 0x2c], edx
cmp al, 3
jne 0x4325ee
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], esi
jmp 0x432691
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x432657
comisd xmm1, xmmword [0x439230]
jb 0x432657
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x432657
movaps xmm0, xmm1
call fcn.00435cc0
mov ecx, eax
mov eax, 1
jmp 0x432661
mov edx, dword [esp + 0x60]
xor eax, eax
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
test eax, eax
je 0x4347af
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
add dword [esp + 0x18], 4
xor eax, eax
sub edx, 0x7f
mov dword [esp + 0xe8], edx
sbb eax, eax
mov dword [esp + 0xec], eax
test esi, esi
jg 0x432541
jl 0x4326b9
test ecx, ecx
jae 0x4326f1
cmp esi, 0xffffffff
jg 0x4326d7
jl 0x432541
cmp ecx, 0xffffffc0
ja 0x4326d7
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
jmp 0x432596
movq xmm1, qword [esp + 0xe8]
mov eax, ecx
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x432590
test esi, esi
jl 0x43270e
jg 0x432541
cmp ecx, 0x40
jb 0x43270e
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
jmp 0x432596
movq xmm1, qword [esp + 0xe8]
movd xmm0, ecx
jmp 0x43258c
mov eax, edx
mov esi, edx
shr eax, 0x10
movzx edi, al
mov eax, dword [esp + 0x1c]
shr edx, 7
shl edi, 4
shr esi, 0x18
add edi, eax
movzx edx, dl
shl esi, 4
shl edx, 4
add esi, eax
add edx, eax
mov al, byte [edi + 8]
mov dword [esp + 0x40], edx
cmp al, 3
jne 0x43276a
cmp byte [esi + 8], al
je 0x4319f5
mov edx, dword [edi + 4]
mov ecx, dword [edi]
call fcn.00435dc0
mov ecx, dword [esp + 0x10]
jmp 0x43277a
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [edi]
mov al, byte [esi + 8]
movsd qword [esp + 0x20], xmm0
cmp al, 0x13
jne 0x4327a1
movsd xmm0, qword [esi]
mov edi, dword [esp + 0x18]
addsd xmm0, qword [esp + 0x20]
mov eax, dword [esp + 0x40]
add edi, 4
jmp 0x430c18
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp al, 3
jne 0x434190
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.00435dc0
addsd xmm0, qword [esp + 0x20]
mov eax, dword [esp + 0x40]
add edi, 4
jmp 0x430c18
mov ecx, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
mov esi, edx
shr esi, 0x18
shr edx, 7
movzx eax, al
shl eax, 4
shl esi, 4
add eax, ecx
movzx edi, dl
add esi, ecx
shl edi, 4
add edi, ecx
jmp 0x431ab1
mov ecx, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
mov esi, edx
movzx eax, al
shl eax, 4
shr edx, 7
add eax, ecx
shr esi, 0x18
movzx edi, dl
shl esi, 4
shl edi, 4
add esi, ecx
add edi, ecx
mov cl, byte [eax + 8]
cmp cl, 3
jne 0x431bae
cmp byte [esi + 8], cl
je 0x431b88
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.00435dc0
jmp 0x431bc3
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 0x10
mov esi, edx
movzx ecx, al
mov eax, dword [esp + 0x1c]
shl ecx, 4
shr edx, 7
add ecx, eax
shr esi, 0x18
movzx edi, dl
shl esi, 4
shl edi, 4
add esi, eax
add edi, eax
mov al, byte [ecx + 8]
mov dword [esp + 0x30], edi
cmp al, 3
jne 0x431cf6
cmp byte [esi + 8], al
jne 0x431cea
mov edi, dword [esi]
mov edx, edi
add dword [esp + 0x18], 4
add edx, 1
mov esi, dword [esi + 4]
mov eax, esi
adc eax, 0
test eax, eax
ja 0x4328d7
jb 0x4328a8
cmp edx, 1
ja 0x4328d7
or edi, esi
je 0x434a90
mov ecx, dword [esp + 0x30]
xorps xmm0, xmm0
mov edi, dword [esp + 0x18]
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov byte [ecx + 8], 3
jmp 0x430c20
push esi
push edi
push dword [ecx + 4]
push dword [ecx]
call fcn.00435b10
mov ecx, eax
or ecx, edx
je 0x432908
mov ecx, edi
xor ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, esi
xor ecx, edx
mov dword [esp + 0x24], ecx
jg 0x432908
jl 0x432904
cmp dword [esp + 0x40], 0
jae 0x432908
add eax, edi
adc edx, esi
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov byte [ecx + 8], 3
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx esi, al
mov eax, edx
shr eax, 0x10
movzx ecx, al
shr edx, 0x18
shl esi, 4
add esi, dword [esp + 0x1c]
shl ecx, 4
add ecx, dword [esp + 0x1c]
shl edx, 4
add edx, dword [esp + 0x1c]
jmp 0x431dd5
mov eax, edx
shr eax, 7
movzx esi, al
mov eax, edx
shr eax, 0x10
movzx ecx, al
shr edx, 0x18
shl esi, 4
add esi, dword [esp + 0x1c]
shl ecx, 4
add ecx, dword [esp + 0x1c]
shl edx, 4
add edx, dword [esp + 0x1c]
jmp 0x431e92
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 0x10
mov esi, edx
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
shr edx, 7
shr esi, 0x18
movzx ecx, dl
mov dl, byte [eax + 8]
shl esi, 4
add esi, dword [esp + 0x1c]
shl ecx, 4
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
cmp dl, 3
jne 0x432a83
cmp byte [esi + 8], dl
jne 0x432a77
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esi]
add dword [esp + 0x18], 4
mov dword [esp + 0x40], eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x34], esi
add dword [esp + 0x34], 1
mov dword [esp + 0x2c], eax
adc eax, 0
mov dword [esp + 0x20], edx
test eax, eax
ja 0x432a1d
jb 0x4329fa
cmp dword [esp + 0x34], 1
ja 0x432a1d
or esi, dword [esp + 0x2c]
je 0x434a9e
neg edx
mov byte [ecx + 8], 3
mov dword [ecx], edx
adc edi, 0
neg edi
mov dword [ecx + 4], edi
mov edi, dword [esp + 0x18]
jmp 0x430c20
push ebx
push dword [esp + 0x30]
push esi
push edi
push edx
call fcn.004359f0
mov dword [esp + 0x44], ebx
pop ebx
xor esi, dword [esp + 0x20]
xor dword [esp + 0x2c], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x24], edi
jg 0x432a5b
jl 0x432a4b
test esi, esi
jae 0x432a5b
or ecx, dword [esp + 0x40]
je 0x432a5b
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x30]
mov edx, eax
mov edi, dword [esp + 0x3c]
mov dword [ecx + 4], edi
mov edi, dword [esp + 0x18]
mov dword [ecx], edx
mov byte [ecx + 8], 3
jmp 0x430c20
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.00435dc0
jmp 0x432a98
mov ecx, dword [esp + 0x10]
cmp dl, 0x13
mov edx, dword [esp + 0x14]
jne 0x434190
movsd xmm0, qword [eax]
mov al, byte [esi + 8]
movsd qword [esp + 0x20], xmm0
cmp al, 0x13
jne 0x432aab
movsd xmm1, qword [esi]
jmp 0x432ac8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp al, 3
jne 0x434190
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.00435dc0
movaps xmm1, xmm0
movsd xmm0, qword [esp + 0x20]
sub esp, 8
divsd xmm0, xmm1
add edi, 4
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov eax, dword [esp + 0x38]
add esp, 8
fstp qword [eax]
jmp 0x430c1c
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shr edx, 0x18
shl edi, 4
add edi, dword [esp + 0x1c]
mov al, byte [esi + 8]
shl edx, 4
add edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
cmp al, 3
jne 0x432b3d
mov eax, dword [esi]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x70], eax
jmp 0x432bdc
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x432baa
comisd xmm1, xmmword [0x439230]
jb 0x432baa
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x432baa
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0x6c], eax
mov ecx, edx
mov eax, 1
jmp 0x432bb0
mov ecx, dword [esp + 0x70]
xor eax, eax
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov edx, dword [esp + 0x2c]
mov al, byte [edx + 8]
cmp al, 3
jne 0x432c0f
mov ecx, dword [edx]
mov eax, dword [edx + 4]
add dword [esp + 0x18], 4
mov dword [esp + 0x68], ecx
and ecx, dword [esp + 0x6c]
mov dword [esp + 0x64], eax
and eax, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov esi, dword [esp + 0xc]
cmp al, 0x13
jne 0x430c08
movsd xmm0, qword [edx]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov eax, dword [esp + 0x34]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x432c80
comisd xmm1, xmmword [0x439230]
jb 0x432c80
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x432c80
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0x68], eax
mov ecx, edx
mov eax, 1
jmp 0x432c86
mov ecx, dword [esp + 0x64]
xor eax, eax
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
add dword [esp + 0x18], 4
and ecx, dword [esp + 0x6c]
and eax, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shr edx, 0x18
shl edi, 4
add edi, dword [esp + 0x1c]
mov al, byte [esi + 8]
shl edx, 4
add edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
cmp al, 3
jne 0x432d19
mov eax, dword [esi]
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x80], eax
jmp 0x432dbe
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x432d86
comisd xmm1, xmmword [0x439230]
jb 0x432d86
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x432d86
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0x7c], eax
mov ecx, edx
mov eax, 1
jmp 0x432d8f
mov ecx, dword [esp + 0x80]
xor eax, eax
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov edx, dword [esp + 0x2c]
mov al, byte [edx + 8]
cmp al, 3
jne 0x432df4
mov ecx, dword [edx]
mov eax, dword [edx + 4]
add dword [esp + 0x18], 4
mov dword [esp + 0x78], ecx
or ecx, dword [esp + 0x7c]
mov dword [esp + 0x74], eax
or eax, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov esi, dword [esp + 0xc]
cmp al, 0x13
jne 0x430c08
movsd xmm0, qword [edx]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov eax, dword [esp + 0x34]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x432e65
comisd xmm1, xmmword [0x439230]
jb 0x432e65
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x432e65
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0x78], eax
mov ecx, edx
mov eax, 1
jmp 0x432e6b
mov ecx, dword [esp + 0x74]
xor eax, eax
mov edx, dword [esp + 0x78]
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
add dword [esp + 0x18], 4
or ecx, dword [esp + 0x7c]
or eax, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shr edx, 0x18
shl edi, 4
add edi, dword [esp + 0x1c]
mov al, byte [esi + 8]
shl edx, 4
add edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
cmp al, 3
jne 0x432f04
mov eax, dword [esi]
mov dword [esp + 0x8c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x90], eax
jmp 0x432fb2
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x432f74
comisd xmm1, xmmword [0x439230]
jb 0x432f74
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x432f74
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0x8c], eax
mov ecx, edx
mov eax, 1
jmp 0x432f7d
mov ecx, dword [esp + 0x90]
xor eax, eax
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov edx, dword [esp + 0x2c]
mov al, byte [edx + 8]
cmp al, 3
jne 0x432ff1
mov ecx, dword [edx]
mov eax, dword [edx + 4]
add dword [esp + 0x18], 4
mov dword [esp + 0x88], ecx
xor ecx, dword [esp + 0x8c]
mov dword [esp + 0x84], eax
xor eax, dword [esp + 0x90]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov esi, dword [esp + 0xc]
cmp al, 0x13
jne 0x430c08
movsd xmm0, qword [edx]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov eax, dword [esp + 0x34]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x433065
comisd xmm1, xmmword [0x439230]
jb 0x433065
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x433065
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0x88], eax
mov ecx, edx
mov eax, 1
jmp 0x43306e
mov ecx, dword [esp + 0x84]
xor eax, eax
mov edx, dword [esp + 0x88]
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
add dword [esp + 0x18], 4
xor ecx, dword [esp + 0x8c]
xor eax, dword [esp + 0x90]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shr edx, 0x18
shl edi, 4
add edi, dword [esp + 0x1c]
mov al, byte [esi + 8]
shl edx, 4
add edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
cmp al, 3
jne 0x43312e
mov eax, dword [esi]
mov dword [esp + 0x94], eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x94]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], eax
jmp 0x4331e2
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x43319e
comisd xmm1, xmmword [0x439230]
jb 0x43319e
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x43319e
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0x94], eax
mov ecx, edx
mov eax, 1
jmp 0x4331a7
mov ecx, dword [esp + 0xc4]
xor eax, eax
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x94], edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov edx, dword [esp + 0x2c]
mov al, byte [edx + 8]
cmp al, 3
jne 0x433201
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], ecx
jmp 0x4332b9
mov esi, dword [esp + 0xc]
cmp al, 0x13
jne 0x430c08
movsd xmm0, qword [edx]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov eax, dword [esp + 0x34]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x433275
comisd xmm1, xmmword [0x439230]
jb 0x433275
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x433275
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0x9c], eax
mov ecx, edx
mov eax, 1
jmp 0x43327e
mov ecx, dword [esp + 0x98]
xor eax, eax
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
add dword [esp + 0x18], 4
neg eax
adc ecx, 0
neg ecx
test ecx, ecx
jg 0x432541
jl 0x4332d3
test eax, eax
jae 0x433309
cmp ecx, 0xffffffff
jg 0x4332f1
jl 0x432541
cmp eax, 0xffffffc0
ja 0x4332f1
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
jmp 0x432596
movq xmm1, qword [esp + 0xd8]
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x432590
test ecx, ecx
jl 0x433326
jg 0x432541
cmp eax, 0x40
jb 0x433326
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
jmp 0x432596
movq xmm1, qword [esp + 0xd8]
jmp 0x432588
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shr edx, 0x18
shl edi, 4
add edi, dword [esp + 0x1c]
mov al, byte [esi + 8]
shl edx, 4
add edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
cmp al, 3
jne 0x433394
mov eax, dword [esi]
mov dword [esp + 0xa0], eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], eax
jmp 0x433448
mov edx, dword [esp + 0x14]
cmp al, 0x13
jne 0x430bfe
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x433404
comisd xmm1, xmmword [0x439230]
jb 0x433404
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x433404
movaps xmm0, xmm1
call fcn.00435cc0
mov dword [esp + 0xa0], eax
mov ecx, edx
mov eax, 1
jmp 0x43340d
mov ecx, dword [esp + 0xc8]
xor eax, eax
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0xc]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4347af
mov edx, dword [esp + 0x2c]
mov al, byte [edx + 8]
cmp al, 3
jne 0x433467
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ecx
jmp 0x433518
mov esi, dword [esp + 0xc]
cmp al, 0x13
jne 0x430c08
movsd xmm0, qword [edx]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov eax, dword [esp + 0x34]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x4334d4
comisd xmm1, xmmword [0x439230]
jb 0x4334d4
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x4334d4
movaps xmm0, xmm1
call fcn.00435cc0
mov ecx, eax
mov eax, 1
jmp 0x4334e4
mov edx, dword [esp + 0xa8]
xor eax, eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
test eax, eax
je 0x4347af
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
add dword [esp + 0x18], 4
test ecx, ecx
jg 0x432541
jl 0x43352b
test eax, eax
jae 0x433561
cmp ecx, 0xffffffff
jg 0x433549
jl 0x432541
cmp eax, 0xffffffc0
ja 0x433549
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
jmp 0x432596
movq xmm1, qword [esp + 0xe0]
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x432590
test ecx, ecx
jl 0x43357e
jg 0x432541
cmp eax, 0x40
jb 0x43357e
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
jmp 0x432596
movq xmm1, qword [esp + 0xe0]
jmp 0x432588
mov eax, dword [edi - 8]
shr eax, 7
movzx ecx, al
mov eax, dword [esp + 0x10]
shl ecx, 4
add ecx, dword [esp + 0x1c]
mov dword [eax + 0x10], edi
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 0x18
push eax
mov eax, edx
shr edx, 7
shr eax, 0x10
movzx eax, al
movzx edx, dl
shl eax, 4
add eax, dword [esp + 0x20]
push ecx
shl edx, 4
mov ecx, esi
add edx, dword [esp + 0x24]
push eax
call fcn.0042cae0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov eax, dword [edi - 8]
mov esi, edx
shr eax, 7
movzx eax, al
shl eax, 4
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov ecx, dword [esp + 0xc]
shr esi, 0x18
mov byte [esp + 0x138], 3
mov dword [ecx + 0xc], eax
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
shl edi, 4
add edi, dword [esp + 0x1c]
movzx ecx, al
xor eax, eax
sub ecx, 0x7f
mov dword [esp + 0x130], ecx
sbb eax, eax
mov dword [esp + 0x134], eax
test edx, 0x8000
je 0x43364e
lea edx, [esp + 0x130]
jmp 0x433657
mov edx, edi
lea edi, [esp + 0x130]
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x1c]
push esi
mov esi, dword [esp + 0x10]
mov ecx, esi
push eax
push edi
call fcn.0042cae0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov edi, dword [esp + 0x2c]
mov eax, edx
shr eax, 0x10
movzx edx, al
mov eax, dword [esp + 0x18]
shr edi, 0x18
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x10]
mov eax, dword [eax - 8]
shr eax, 7
movzx esi, al
mov eax, dword [esp + 0x18]
add esi, esi
mov dword [edi + 0x10], eax
mov eax, dword [edi + 4]
mov edi, dword [esp + 0xc]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
shr eax, 7
movzx ecx, al
mov eax, dword [esp + 0x1c]
shl ecx, 4
add ecx, eax
and dword [esp + 0x2c], 0x8000
push edi
lea eax, [eax + esi*8]
mov esi, dword [esp + 0x10]
push eax
mov eax, ecx
cmove eax, edx
cmp dword [esp + 0x34], 0
push eax
cmove edx, ecx
mov ecx, esi
call fcn.0042cae0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov eax, edx
shr edx, 0x10
movzx esi, dl
shl esi, 4
add esi, dword [esp + 0x1c]
shr eax, 7
movzx edi, al
shl edi, 4
mov al, byte [esi + 8]
add edi, dword [esp + 0x1c]
cmp al, 3
jne 0x433757
mov ecx, dword [esi]
mov eax, dword [esi + 4]
neg ecx
mov dword [edi], ecx
adc eax, 0
neg eax
mov dword [edi + 4], eax
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
cmp al, 0x13
jne 0x43377a
movsd xmm0, qword [esi]
xorps xmm0, xmmword [0x439250]
movsd qword [edi], xmm0
mov byte [edi + 8], al
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
jmp case.default.0x430c61
mov eax, dword [esp + 0x18]
mov edx, esi
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
push 0x12
mov dword [ecx + 0xc], eax
call fcn.0042c930
add esp, 4
test byte [eax + 8], 0xf
jne 0x4337b7
mov ecx, dword [esp + 0xc]
mov edx, esi
push 0x12
call fcn.0042c930
add esp, 4
test byte [eax + 8], 0xf
je 0x434aac
push edi
push esi
push esi
mov esi, dword [esp + 0x18]
mov edx, eax
mov ecx, esi
call fcn.0042ca40
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov eax, edx
shr edx, 0x10
movzx esi, dl
shl esi, 4
add esi, dword [esp + 0x1c]
shr eax, 7
movzx edi, al
shl edi, 4
mov al, byte [esi + 8]
add edi, dword [esp + 0x1c]
cmp al, 3
jne 0x433823
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0x50], ecx
not ecx
mov dword [esp + 0x54], edx
not edx
mov dword [edi], ecx
mov dword [edi + 4], edx
mov byte [edi + 8], al
mov edi, dword [esp + 0x18]
jmp 0x430c20
cmp al, 0x13
jne 0x4338c2
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x433888
comisd xmm1, xmmword [0x439230]
jb 0x433888
movsd xmm0, qword [0x439220]
comisd xmm0, xmm1
jbe 0x433888
movaps xmm0, xmm1
call fcn.00435cc0
mov ecx, eax
mov eax, 1
jmp 0x433892
mov ecx, dword [esp + 0x50]
xor eax, eax
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
test eax, eax
je 0x4338bc
not ecx
not edx
mov dword [edi], ecx
mov dword [edi + 4], edx
mov byte [edi + 8], 3
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov ecx, dword [esp + 0x10]
jmp 0x4338c6
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], edx
mov edx, esi
push 0x13
mov dword [ecx + 0xc], eax
call fcn.0042c930
add esp, 4
test byte [eax + 8], 0xf
jne 0x43390f
mov ecx, dword [esp + 0xc]
mov edx, esi
push 0x13
call fcn.0042c930
add esp, 4
test byte [eax + 8], 0xf
je 0x434a6a
push edi
push esi
push esi
mov esi, dword [esp + 0x18]
mov edx, eax
mov ecx, esi
call fcn.0042ca40
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov eax, edx
shr edx, 0x10
shr eax, 7
movzx ecx, al
movzx eax, dl
mov edx, dword [esp + 0x1c]
add eax, eax
mov al, byte [edx + eax*8 + 8]
cmp al, 1
je 0x433958
test al, 0xf
mov al, 1
jne 0x43395a
mov al, 0x11
add ecx, ecx
mov byte [edx + ecx*8 + 8], al
jmp 0x430c24
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov ecx, esi
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 0x10
shr edx, 7
movzx eax, al
movzx edx, dl
shl eax, 4
add eax, dword [esp + 0x1c]
shl edx, 4
add edx, dword [esp + 0x1c]
push eax
call fcn.00430730
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov eax, edx
lea ecx, [esi + 0xc]
mov esi, dword [esp + 0xc]
shr eax, 0x10
movzx edx, al
mov eax, dword [esp + 0x2c]
shr eax, 7
movzx eax, al
add eax, edx
shl eax, 4
add eax, dword [esp + 0x1c]
mov dword [ecx], eax
mov ecx, esi
mov eax, dword [esp + 0x10]
mov dword [eax + 0x10], edi
call fcn.00430470
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], edx
cmp dword [eax + 0xc], 0
jle 0x430c2c
mov dword [ecx + 0x10], edi
jmp 0x431874
mov eax, dword [ecx + 4]
shr edx, 7
movzx edx, dl
mov dword [ecx + 0x10], edi
mov ecx, esi
shl edx, 4
add edx, dword [esp + 0x1c]
push 1
push 0
mov dword [esi + 0xc], eax
call fcn.00410640
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov eax, dword [ecx + 4]
shr edx, 7
movzx edx, dl
mov dword [ecx + 0x10], edi
mov ecx, esi
shl edx, 4
add edx, dword [esp + 0x1c]
mov dword [esi + 0xc], eax
call fcn.004104e0
jmp 0x430c24
shr edx, 7
lea edi, [edi + edx*4]
mov edx, dword [ecx + 0x14]
add edi, 0xfc000004
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov ecx, esi
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x1c]
push eax
mov eax, edx
shr eax, 7
movzx edx, al
shl edx, 4
add edx, dword [esp + 0x20]
call fcn.00430010
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x2c]
shr ecx, 0xf
and ecx, 1
mov dword [esp + 0x14], edx
cmp eax, ecx
je 0x433abc
mov ecx, dword [esp + 0x10]
add edi, 4
jmp 0x430c2c
mov eax, dword [edi]
mov ecx, dword [esp + 0x10]
shr eax, 7
mov edx, dword [ecx + 0x14]
lea edi, [edi + eax*4]
mov dword [esp + 0x14], edx
add edi, 0xfc000008
jmp 0x430c2c
mov eax, edx
shr eax, 7
movzx esi, al
mov eax, edx
shl esi, 4
add esi, dword [esp + 0x1c]
shr eax, 0x10
movzx ecx, al
shl ecx, 4
mov al, byte [esi + 8]
add ecx, dword [esp + 0x1c]
cmp al, 3
jne 0x433b2f
cmp byte [ecx + 8], al
jne 0x433b2f
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 4]
jg 0x433b23
jl 0x433b14
mov eax, dword [esi]
cmp eax, dword [ecx]
jae 0x433b23
mov esi, dword [esp + 0xc]
mov eax, 1
mov ecx, dword [esp + 0x10]
jmp 0x433b82
mov esi, dword [esp + 0xc]
xor eax, eax
mov ecx, dword [esp + 0x10]
jmp 0x433b82
and al, 0xf
cmp al, 3
jne 0x433b51
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 3
jne 0x433b51
mov edx, ecx
mov ecx, esi
call fcn.0042fb20
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x433b7e
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push ecx
mov dword [eax + 0x10], edi
mov eax, dword [eax + 4]
mov dword [edx + 0xc], eax
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0042fee0
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x2c]
shr edx, 0xf
and edx, 1
cmp eax, edx
je 0x433e07
add edi, 4
jmp case.default.0x430c61
mov eax, edx
shr eax, 7
movzx esi, al
mov eax, edx
shl esi, 4
add esi, dword [esp + 0x1c]
shr eax, 0x10
movzx ecx, al
shl ecx, 4
mov al, byte [esi + 8]
add ecx, dword [esp + 0x1c]
cmp al, 3
jne 0x433bed
cmp byte [ecx + 8], al
jne 0x433bed
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 4]
jg 0x433b23
jl 0x433b14
mov eax, dword [esi]
cmp eax, dword [ecx]
ja 0x433b23
mov esi, dword [esp + 0xc]
mov eax, 1
mov ecx, dword [esp + 0x10]
jmp 0x433b82
and al, 0xf
cmp al, 3
jne 0x433c12
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 3
jne 0x433c12
mov edx, ecx
mov ecx, esi
call fcn.0042fd00
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x433b7e
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push ecx
mov dword [eax + 0x10], edi
mov eax, dword [eax + 4]
mov dword [edx + 0xc], eax
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0042ff70
jmp 0x433b70
mov eax, edx
xor ecx, ecx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x38]
push eax
mov eax, edx
shr eax, 7
movzx edx, al
shl edx, 4
add edx, dword [esp + 0x20]
call fcn.00430010
mov ecx, dword [esp + 0x30]
add esp, 4
shr ecx, 0xf
and ecx, 1
cmp eax, ecx
je 0x433abc
add edi, 4
jmp 0x430c24
mov eax, edx
shr eax, 7
movzx ecx, al
mov eax, edx
shr eax, 0x10
movzx eax, al
shl ecx, 4
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
lea esi, [eax - 0x7f]
mov al, byte [ecx + 8]
mov byte [esp + 0x4b], al
cmp al, 3
mov eax, dword [esp + 0x20]
jne 0x433cbd
xor esi, esi
sub eax, 0x7f
sbb esi, esi
cmp dword [ecx], eax
jne 0x433ce1
cmp dword [ecx + 4], esi
jne 0x433ce1
mov eax, 1
jmp 0x433ce3
cmp byte [esp + 0x4b], 0x13
jne 0x433ce1
movsd xmm0, qword [ecx]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x433ce1
mov eax, 1
jmp 0x433ce3
xor eax, eax
shr edx, 0xf
and edx, 1
cmp eax, edx
je 0x434177
add edi, 4
jmp 0x430c20
mov eax, edx
shr eax, 7
movzx ecx, al
mov eax, edx
shl ecx, 4
add ecx, dword [esp + 0x1c]
shr eax, 0x10
movzx esi, al
mov dword [esp + 0x20], ecx
mov al, byte [ecx + 8]
lea edi, [esi - 0x7f]
cmp al, 3
jne 0x433d51
xor eax, eax
sub esi, 0x7f
sbb eax, eax
cmp dword [ecx + 4], eax
jg 0x433d42
jl 0x433d30
cmp dword [ecx], esi
jae 0x433d42
mov esi, dword [esp + 0xc]
mov eax, 1
mov ecx, dword [esp + 0x10]
jmp 0x433df5
mov esi, dword [esp + 0xc]
xor eax, eax
mov ecx, dword [esp + 0x10]
jmp 0x433df5
cmp al, 0x13
jne 0x433d73
mov esi, dword [esp + 0xc]
xor eax, eax
movd xmm0, edi
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [ecx]
mov ecx, dword [esp + 0x10]
seta al
jmp 0x433df5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x20]
cmp edx, 0x1000000
jb 0x433daf
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov byte [esp + 0xf8], 0x13
movsd qword [esp + 0xf0], xmm0
jmp 0x433dcc
xor eax, eax
mov byte [esp + 0xf8], 3
sub esi, 0x7f
mov dword [esp + 0xf0], esi
sbb eax, eax
mov dword [esp + 0xf4], eax
push 0x14
lea eax, [esp + 0xf4]
push eax
mov edx, ecx
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.0042cb90
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
shr edx, 0xf
and edx, 1
cmp eax, edx
jne 0x433b90
mov eax, dword [edi]
mov edx, dword [ecx + 0x14]
shr eax, 7
mov dword [esp + 0x14], edx
lea edi, [edi + eax*4]
add edi, 0xfc000008
jmp 0x430c2c
mov eax, edx
shr eax, 7
movzx ecx, al
mov eax, edx
shl ecx, 4
add ecx, dword [esp + 0x1c]
shr eax, 0x10
movzx esi, al
mov dword [esp + 0x20], ecx
mov al, byte [ecx + 8]
lea edi, [esi - 0x7f]
cmp al, 3
jne 0x433e73
xor eax, eax
sub esi, 0x7f
sbb eax, eax
cmp dword [ecx + 4], eax
jg 0x433d42
jl 0x433d30
cmp dword [ecx], esi
ja 0x433d42
mov esi, dword [esp + 0xc]
mov eax, 1
mov ecx, dword [esp + 0x10]
jmp 0x433df5
cmp al, 0x13
jne 0x433e95
mov esi, dword [esp + 0xc]
xor eax, eax
movd xmm0, edi
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [ecx]
mov ecx, dword [esp + 0x10]
setae al
jmp 0x433df5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x20]
cmp edx, 0x1000000
jb 0x433edd
movd xmm0, edi
lea eax, [esp + 0x100]
cvtdq2pd xmm0, xmm0
mov byte [esp + 0x108], 0x13
push 0x15
movsd qword [esp + 0x104], xmm0
jmp 0x433dd5
xor eax, eax
mov byte [esp + 0x108], 3
sub esi, 0x7f
mov dword [esp + 0x100], esi
sbb eax, eax
mov dword [esp + 0x104], eax
lea eax, [esp + 0x100]
push 0x15
jmp 0x433dd5
mov eax, edx
shr eax, 7
movzx ecx, al
mov eax, edx
shl ecx, 4
add ecx, dword [esp + 0x1c]
shr eax, 0x10
movzx esi, al
mov dword [esp + 0x20], ecx
mov al, byte [ecx + 8]
lea edi, [esi - 0x7f]
cmp al, 3
jne 0x433f5d
xor eax, eax
sub esi, 0x7f
sbb eax, eax
cmp dword [ecx + 4], eax
jl 0x433d42
jg 0x433d30
cmp dword [ecx], esi
jbe 0x433d42
mov esi, dword [esp + 0xc]
mov eax, 1
mov ecx, dword [esp + 0x10]
jmp 0x433df5
cmp al, 0x13
jne 0x433f83
movsd xmm0, qword [ecx]
xor eax, eax
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movd xmm1, edi
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
seta al
jmp 0x433df5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x20]
cmp edx, 0x1000000
jb 0x433fcc
movd xmm0, edi
lea edx, [esp + 0x110]
cvtdq2pd xmm0, xmm0
push 0x14
mov byte [esp + 0x11c], 0x13
push ecx
movsd qword [esp + 0x118], xmm0
jmp 0x433dd8
xor eax, eax
mov byte [esp + 0x118], 3
sub esi, 0x7f
lea edx, [esp + 0x110]
push 0x14
sbb eax, eax
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], eax
push ecx
jmp 0x433dd8
mov eax, edx
shr eax, 7
movzx ecx, al
mov eax, edx
shl ecx, 4
add ecx, dword [esp + 0x1c]
shr eax, 0x10
movzx esi, al
mov dword [esp + 0x20], ecx
mov al, byte [ecx + 8]
lea edi, [esi - 0x7f]
cmp al, 3
jne 0x43404d
xor eax, eax
sub esi, 0x7f
sbb eax, eax
cmp dword [ecx + 4], eax
jl 0x433d42
jg 0x433d30
cmp dword [ecx], esi
jb 0x433d42
mov esi, dword [esp + 0xc]
mov eax, 1
mov ecx, dword [esp + 0x10]
jmp 0x433df5
cmp al, 0x13
jne 0x434073
movsd xmm0, qword [ecx]
xor eax, eax
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movd xmm1, edi
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
setae al
jmp 0x433df5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x20]
cmp edx, 0x1000000
jb 0x4340bc
movd xmm0, edi
lea edx, [esp + 0x120]
cvtdq2pd xmm0, xmm0
push 0x15
mov byte [esp + 0x12c], 0x13
push ecx
movsd qword [esp + 0x128], xmm0
jmp 0x433dd8
xor eax, eax
mov byte [esp + 0x128], 3
sub esi, 0x7f
lea edx, [esp + 0x120]
push 0x15
sbb eax, eax
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], eax
push ecx
jmp 0x433dd8
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 7
movzx eax, al
add eax, eax
mov al, byte [esi + eax*8 + 8]
mov esi, dword [esp + 0xc]
cmp al, 1
je 0x434110
test al, 0xf
je 0x434110
mov eax, 1
jmp 0x433b82
xor eax, eax
jmp 0x433b82
mov eax, edx
shr eax, 7
movzx edi, al
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
shl edi, 4
add edi, dword [esp + 0x1c]
mov al, byte [esi + 8]
cmp al, 1
je 0x434144
test al, 0xf
je 0x434144
xor eax, eax
jmp 0x434149
mov eax, 1
shr edx, 0xf
and edx, 1
cmp eax, edx
jne 0x434163
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
add edi, 4
jmp case.default.0x430c61
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov al, byte [esi + 8]
mov byte [edi + 8], al
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
mov ecx, dword [esp + 0x10]
shr eax, 7
mov edx, dword [ecx + 0x14]
lea edi, [edi + eax*4]
mov dword [esp + 0x14], edx
add edi, 0xfc000008
mov esi, dword [esp + 0xc]
jmp 0x430c2c
mov eax, edx
shr eax, 7
movzx ecx, al
mov eax, edx
shr eax, 0x10
shl ecx, 4
add ecx, dword [esp + 0x1c]
shr edx, 0x18
movzx eax, al
dec edx
test eax, eax
je 0x4341c0
shl eax, 4
add eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x10]
push edx
mov edx, ecx
mov ecx, esi
mov dword [eax + 0x10], edi
call fcn.0040ee90
add esp, 4
test eax, eax
je 0x43187b
mov ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x430b50
mov eax, edx
shr eax, 7
movzx edi, al
shl edi, 4
add edi, dword [esp + 0x1c]
cmp byte [edi + 0x28], 3
jne 0x434272
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], ecx
test ecx, ecx
jne 0x434216
test eax, eax
je 0x4342dd
mov ecx, dword [edi + 0x24]
mov edx, dword [edi]
mov esi, dword [edi + 4]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x20]
sub ecx, 1
mov dword [edi + 0x10], ecx
sbb dword [esp + 0x34], 0
mov ecx, dword [esp + 0x34]
mov dword [edi + 0x14], ecx
add edx, dword [edi + 0x20]
mov ecx, dword [esp + 0x10]
adc esi, dword [esp + 0x40]
mov dword [edi + 4], esi
mov dword [edi + 0x34], esi
mov esi, dword [esp + 0xc]
mov dword [edi], edx
mov dword [edi + 0x30], edx
mov byte [edi + 0x38], 3
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
shr eax, 0xf
neg eax
mov dword [esp + 0x14], edx
lea edi, [edi + eax*4]
jmp 0x430c2c
movsd xmm0, qword [edi + 0x20]
xor eax, eax
comisd xmm0, xmmword [0x4391b8]
movsd xmm2, qword [edi + 0x10]
movaps xmm1, xmm0
addsd xmm1, qword [edi]
jbe 0x434295
comisd xmm2, xmm1
jmp 0x434299
comisd xmm1, xmm2
setae al
test eax, eax
je 0x4342c9
mov esi, dword [esp + 0xc]
movsd qword [edi], xmm1
movsd qword [edi + 0x30], xmm1
mov byte [edi + 0x38], 0x13
mov edi, dword [esp + 0x18]
shr edx, 0xf
neg edx
lea edi, [edi + edx*4]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov edx, dword [ecx + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov ecx, esi
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 7
movzx edx, al
shl edx, 4
add edx, dword [esp + 0x1c]
call fcn.0042f370
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x430c2c
mov eax, dword [esp + 0x2c]
shr eax, 0xf
lea edi, [edi + eax*4]
add edi, 4
jmp 0x430c24
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov ecx, esi
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 7
movzx edx, al
add edx, 3
shl edx, 4
add edx, dword [esp + 0x1c]
call fcn.004104e0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
shr edx, 0xf
lea edi, [edi + edx*4]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edx
shr edx, 7
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x1c]
lea edx, [eax + 0x40]
push 1
movups xmm0, xmmword [eax]
movups xmmword [edx], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [edx + 0x10], xmm0
movups xmm0, xmmword [eax + 0x20]
add eax, 0x70
movups xmmword [edx + 0x20], xmm0
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x30]
shr eax, 0x18
mov dword [ecx + 0x10], edi
mov ecx, esi
push eax
call fcn.0040f000
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
test edx, edx
je 0x4343ca
mov eax, dword [ecx]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov edx, dword [edi]
add edi, 4
mov eax, edx
shr eax, 7
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x1c]
test byte [esi + 0x48], 0xf
je 0x433771
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
shr edx, 0xf
neg edx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov al, byte [esi + 0x48]
mov byte [esi + 0x28], al
lea edi, [edi + edx*4]
jmp 0x430c20
mov eax, edx
mov edi, edx
shr eax, 7
movzx esi, al
mov eax, edx
shl esi, 4
add esi, dword [esp + 0x1c]
shr eax, 0x10
mov dword [esp + 0x30], esi
movzx ecx, al
mov esi, dword [esi]
shr edi, 0x18
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], esi
test al, al
jne 0x43444a
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xc]
sub ecx, dword [esp + 0x30]
sar ecx, 4
dec ecx
mov dword [esp + 0x34], ecx
jmp 0x43445c
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
mov esi, dword [esp + 0x3c]
add edi, ecx
test edx, 0x8000
je 0x43447b
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
shr eax, 7
shl eax, 8
add edi, eax
add edx, 4
mov dword [esp + 0x18], edx
cmp byte [esi + 6], 0
jge 0x4344b0
mov edx, dword [esi + 8]
lea eax, [edx - 1]
test edx, eax
je 0x4344b0
mov eax, edx
shr eax, 1
or edx, eax
mov eax, edx
shr eax, 2
or edx, eax
mov eax, edx
shr eax, 4
or edx, eax
mov eax, edx
shr eax, 8
or edx, eax
mov eax, edx
shr eax, 0x10
or eax, edx
inc eax
jmp 0x4344b3
mov eax, dword [esi + 8]
cmp edi, eax
jbe 0x4344df
cmp dword [esi + 0x14], 0
jne 0x4344c1
xor eax, eax
jmp 0x4344cb
mov cl, byte [esi + 7]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0xc]
mov edx, esi
push eax
push edi
call fcn.0042a450
mov ecx, dword [esp + 0x3c]
add esp, 8
mov edx, dword [esp + 0x14]
test ecx, ecx
jle 0x430bf0
shl edi, 4
mov dword [esp + 0x2c], edi
mov edi, ecx
shl edi, 4
add edi, dword [esp + 0x30]
nop dword [eax + eax]
mov edx, dword [esi + 0xc]
mov esi, dword [esp + 0x2c]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [edx + esi - 0x10], eax
mov eax, esi
mov dword [edx + eax - 0xc], ecx
mov ecx, esi
mov al, byte [edi + 8]
mov esi, dword [esp + 0x3c]
mov byte [edx + ecx - 8], al
sub ecx, 0x10
test byte [edi + 8], 0x40
mov dword [esp + 0x2c], ecx
je 0x434578
mov cl, byte [esi + 5]
test cl, 0x20
je 0x434578
mov eax, dword [edi]
test byte [eax + 5], 0x18
je 0x434578
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x10]
mov al, cl
and al, 7
cmp al, 6
je 0x434561
mov ecx, esi
call fcn.004107f0
mov ecx, dword [edx + 0x68]
mov dword [eax], ecx
mov dword [edx + 0x68], esi
mov cl, byte [esi + 5]
and cl, 0xc7
mov al, cl
mov byte [esi + 5], cl
and al, 7
cmp al, 1
jbe 0x434578
and cl, 0xfd
or cl, 5
mov byte [esi + 5], cl
mov eax, dword [esp + 0x34]
sub edi, 0x10
dec eax
mov dword [esp + 0x34], eax
test eax, eax
jg 0x434500
mov edi, dword [esp + 0x18]
jmp 0x430c20
mov eax, edx
shr edx, 0xf
shr eax, 7
movzx esi, al
mov eax, dword [esp + 0x4c]
shl esi, 4
add esi, dword [esp + 0x1c]
push esi
mov eax, dword [eax + 0xc]
push dword [esp + 0x20]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + edx*4]
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x54]
add eax, 0x10
push eax
call fcn.00430850
mov eax, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0xc], 0
jle 0x434190
mov eax, ecx
mov dword [eax + 0x10], edi
lea eax, [esi + 0x10]
mov esi, dword [esp + 0xc]
jmp 0x431871
mov eax, dword [ecx + 4]
mov dword [ecx + 0x10], edi
mov dword [esi + 0xc], eax
mov eax, edx
shr eax, 0x18
dec eax
shr edx, 7
push eax
movzx eax, dl
mov edx, ecx
shl eax, 4
mov ecx, esi
add eax, dword [esp + 0x20]
push eax
call fcn.0042cc10
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x430c2c
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x10], edi
shr edx, 7
movzx edi, dl
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x30], edi
sub eax, dword [edx]
sar eax, 4
dec eax
mov dword [esp + 0x20], eax
sub eax, edi
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0xc]
mov esi, dword [esi + 0x18]
movzx ecx, byte [ecx + 8]
inc ecx
mov edx, dword [eax + 0xc]
mov eax, esi
sub eax, edx
sar eax, 4
cmp eax, ecx
jg 0x4346cb
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
sub esi, eax
sar esi, 4
cmp esi, 0xf4240
jg 0x434aee
sub edx, eax
add esi, esi
sar edx, 4
mov eax, 0xf4240
add edx, ecx
cmp esi, 0xf4240
cmovg esi, eax
cmp esi, edx
jge 0x4346bb
mov esi, edx
cmp esi, eax
jg 0x434ace
mov ecx, dword [esp + 0xc]
mov edx, esi
push 1
call fcn.0040e390
add esp, 4
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0xc]
lea eax, [esi + 0x10]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + 8]
mov edx, dword [esp + 0x10]
mov byte [esi + 8], al
cmp edi, 1
jb 0x434738
mov edi, 0x10
nop dword [eax]
sub dword [esp + 0x30], 1
lea edi, [edi + 0x10]
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0xc]
lea eax, [esi + 0x10]
mov dword [ecx + 0xc], eax
mov edx, dword [edx]
mov eax, dword [edx + edi - 0x10]
mov ecx, dword [edx + edi - 0xc]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + edi - 8]
mov edx, dword [esp + 0x10]
mov byte [esi + 8], al
mov eax, dword [edx]
mov byte [eax + edi - 8], 0
jne 0x434700
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0xc]
shl ecx, 4
lea eax, [ecx + 0x10]
add dword [edx], eax
lea eax, [ecx + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add dword [ecx + 4], eax
mov dword [esp + 0x14], edx
test edx, edx
je 0x4347a6
mov eax, dword [esi + 0x70]
mov dword [esi + 0x64], 0
test al, 1
je 0x43479f
mov eax, dword [ecx]
movzx edx, word [ecx + 0x22]
shr edx, 3
and edx, 4
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add dword [ecx + 0x10], 4
mov ecx, esi
movzx eax, byte [eax + 6]
push eax
push 1
push 0xffffffffffffffff
call fcn.0040e5c0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 0x14]
add dword [ecx + 0x10], 0xfffffffc
mov dword [esi + 0x64], 1
mov eax, dword [ecx]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x18]
jmp 0x430c2c
mov eax, edx
shr eax, 7
movzx ecx, al
mov eax, edx
shr eax, 0x10
movzx edi, al
mov eax, edx
shl ecx, 4
add ecx, dword [esp + 0x1c]
shr eax, 0x18
mov dword [esp + 0x34], ecx
test eax, eax
je 0x4347e7
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 0x18]
add esi, eax
jmp 0x4347e9
xor esi, esi
test edi, edi
je 0x4347fd
mov eax, edi
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x434809
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0xc]
sub edi, ecx
sar edi, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x34]
test edx, 0x8000
je 0x434831
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
call fcn.00410570
mov ecx, dword [esp + 0x34]
push esi
push edi
mov edi, dword [esp + 0x18]
mov edx, edi
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0040ecb0
add esp, 0xc
test eax, eax
js 0x434a61
neg esi
mov edx, edi
shl esi, 4
add dword [edi], esi
mov esi, dword [esp + 0xc]
mov ecx, esi
push eax
call fcn.0040ea30
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x14], edx
jmp 0x434a4f
mov ecx, dword [esp + 0x1c]
mov eax, edx
shr eax, 7
mov edi, edx
movzx eax, al
shl eax, 4
add ecx, eax
mov dword [esp + 0x40], eax
mov eax, edx
shr edi, 0x18
shr eax, 0x10
movzx esi, al
sub esi, 1
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], edi
jns 0x4348b1
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0xc]
sub esi, ecx
sar esi, 4
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [edi + 0x10], eax
mov edi, dword [esp + 0x20]
test edx, 0x8000
je 0x43490a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x1c], esi
mov eax, dword [eax + 4]
cmp dword [ecx + 0xc], eax
jae 0x4348de
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x1c]
push 1
push 0xffffffffffffffff
call fcn.00410640
mov edx, dword [esp + 0x18]
add esp, 8
mov eax, dword [edx + 0x14]
test eax, eax
je 0x434904
mov ecx, dword [esp + 0x40]
add ecx, 0x10
add ecx, dword [edx]
jmp 0x43490e
mov ecx, dword [esp + 0x30]
jmp 0x43490e
mov edx, dword [esp + 0x10]
test edi, edi
je 0x43491e
mov eax, dword [edx + 0x18]
add eax, edi
neg eax
shl eax, 4
add dword [edx], eax
mov eax, esi
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0xc]
push esi
mov esi, ecx
mov dword [ecx + 0xc], eax
jmp 0x43485e
cmp dword [esi + 0x70], 0
je 0x434969
shr edx, 7
movzx eax, dl
mov edx, ecx
shl eax, 4
add eax, dword [esp + 0x1c]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], edi
mov ecx, esi
push 0
call fcn.0040ea30
mov edx, 1
add esp, 4
mov dword [esp + 0x14], edx
jmp 0x434a4b
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x14], eax
add ecx, 0xfffffff0
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], ecx
movsx eax, word [eax + 0x20]
test eax, eax
jle 0x434a47
nop dword [eax]
mov byte [ecx + 8], 0
dec eax
add dword [esi + 0xc], 0x10
mov ecx, dword [esi + 0xc]
test eax, eax
jg 0x434990
jmp 0x434a47
cmp dword [esi + 0x70], 0
je 0x4349d8
shr edx, 7
movzx eax, dl
mov edx, ecx
inc eax
shl eax, 4
add eax, dword [esp + 0x1c]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], edi
mov ecx, esi
push 1
call fcn.0040ea30
mov edx, 1
add esp, 4
mov dword [esp + 0x14], edx
jmp 0x434a4b
mov edi, dword [esp + 0xc]
movsx esi, word [ecx + 0x20]
mov eax, dword [ecx + 8]
mov dword [edi + 0x14], eax
test esi, esi
jne 0x4349fc
mov eax, dword [esp + 0x1c]
mov esi, edi
mov edx, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esi + 0xc], eax
jmp 0x434a4f
mov edi, dword [esp + 0x1c]
shr edx, 7
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edi - 0x10], eax
mov eax, edi
mov dword [eax - 0xc], ecx
mov ecx, edi
mov edi, dword [esp + 0xc]
mov al, byte [edx + 8]
mov byte [ecx - 8], al
mov dword [edi + 0xc], ecx
cmp esi, 1
jle 0x434a45
lea eax, [esi - 1]
mov esi, edi
mov byte [ecx + 8], 0
add dword [esi + 0xc], 0x10
mov ecx, dword [esi + 0xc]
sub eax, 1
jne 0x434a33
jmp 0x434a47
mov esi, edi
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x22], 4
jne 0x434a7b
mov ecx, dword [ecx + 8]
mov dword [esp + 0x10], ecx
jmp 0x430b57
mov esi, dword [esp + 0xc]
jmp 0x430b45
mov al, byte [esi + 8]
mov edx, esi
mov ecx, dword [esp + 0xc]
and al, 0xf
cmp al, 3
jne 0x434ac3
jmp 0x434abd
mov ecx, dword [esp + 0x164]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00434cb0
mov esp, ebp
pop ebp
ret
push str.attempt_to_perform_n__0
push dword [esp + 0x10]
call fcn.0040df50
push str.attempt_to_divide_by_zero
push dword [esp + 0x10]
call fcn.0040df50
mov ecx, dword [esp + 0xc]
mov edx, esi
push str.perform_arithmetic_on
push esi
call fcn.0040dda0
push esi
call fcn.0040ddc0
push str.perform_bitwise_operation_on
push esi
call fcn.0040dda0
mov esi, dword [esp + 0xc]
mov edx, 0xf4308
push 1
mov ecx, esi
call fcn.0040e390
add esp, 4
push str.stack_overflow
push esi
call fcn.0040df50
mov ecx, dword [esp + 0xc]
mov edx, 5
call fcn.0040e220
push 0x9600430c
or al, 67
add al, al
or al, 0x43
add cl, dh
or al, 0x43
add byte [ebx], ch
or eax, 0xd5c0043
inc ebx
add byte [edx + 0xd], dh
inc ebx
add byte [ebx - 0x5effbcf3], cl
or eax, 0xdd20043
inc ebx
add bh, dh
or eax, 0xeb70043
inc ebx
add byte [eax - 0x7effbcf1], bl
adc byte [ebx], al
pop edi
adc dword [ebx], eax
loop 0x434b4b
inc ebx
add byte [ebx + 0x13], dl
inc ebx
add dh, dl
adc al, 0x43
add byte [esi + edx + 0x43], bl
add byte [eax - 0x74ffbce9], dl
sbb byte [ebx], al
dec ebx
add byte [ebx + 0x4b004318], cl
sbb dword [ebx], eax
mov eax, 0x89004319
sbb al, byte [ebx]
dec edi
sbb eax, dword [ebx]
or al, 0x1c
inc ebx
add byte [ebp + 0x6a00431d], ch
push ds
inc ebx
add byte [edi], al
pop ds
inc ebx
add byte [edi - 0x44ffbce0], al
and dword [ebx], eax
out dx, eax
and al, byte [ebx]
adc al, 0x24
inc ebx
add byte [eax + 0x20004325], dh
daa
inc ebx
add ch, cl
daa
inc ebx
add al, bh
daa
inc ebx
add byte [edx + 0x28], al
inc ebx
add byte [esi], bl
sub dword [ebx], eax
dec ebx
sub dword [ebx], eax
js 0x434bc7
inc ebx
add al, bh
sub al, byte [ebx]
shr dword [ebx + eax*2], 1
add byte [ecx + 872432430], bh
xor eax, dword [ebx]
into
xor byte [ebx], al
invalid
add byte [esi], dh
cmp dword [ebx], eax
cmp dword gs:[ebx], eax
movsd dword es:[edi], dword [esi]
cmp dword [ebx], eax
idiv dword [ecx]
inc ebx
add byte [ebx], ch
cmp al, byte [ebx]
dec ebp
cmp al, byte [ebx]
cmp al, byte gs:[ebx]
fidivr dword [edx]
inc ebx
add byte [eax + 0x3600433b], bl
cmp al, 0x43
add byte [ecx + 0x3c], bh
inc ebx
add cl, bh
cmp al, 0x43
add byte [ecx], ah
inc ebx
add byte [eax], cl
aas
inc ebx
add al, bh
aas
inc ebx
add al, ch
inc eax
inc ebx
add byte [edi], dl
inc ecx
inc ebx
add byte [ecx - 0x47ffbcbf], bl
inc edi
inc ebx
add byte [esi + 0x48], dh
inc ebx
add byte [ecx + ecx*2], dh
inc ebx
add byte [ebp - 0x18ffbcb7], ah
inc ecx
inc ebx
add ch, dh
inc edx
inc ebx
add byte [esi], dh
inc ebx
inc ebx
add byte [edi + 0x43], ch
inc ebx
add bh, cl
inc ebx
inc ebx
add byte [edi], al
inc esp
inc ebx
add byte [ebp + 0x4345], dl
inc esi
inc ebx
add byte [edx], bh
inc esi
inc ebx
add ah, cl
int3