Function at 0x430e9e
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x4c8
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 8]
test ecx, ecx
lea edi, [esp + 0x84]
cmove ecx, edi
mov dword [esp + 0xac], ecx
test eax, eax
jne 0x43114c
mov edx, 0x1000aab0
mov dword [esp + 0x7c], 0x1000aac0
mov dword [esp + 0x74], 0x1000aae0
mov dword [esp + 0x64], 0
test ebx, ebx
je 0x43116b
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x431183
mov eax, dword [ebp + 0x10]
test al, 1
mov dword [esp + 0x9c], edx
jne 0x4311a6
cmp esi, 0xfffffffb
jae 0x431129
lea eax, [esi + 4]
push eax
push dword [esp + 0x68]
call edx
add esp, 8
test eax, eax
je 0x431129
mov ecx, eax
add ecx, esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0xa0], eax
push esi
push ebx
push eax
mov edi, eax
call fcn.0045721e
mov edx, edi
add esp, 0xc
mov dword [edi + esi], 0
mov ecx, edi
movzx eax, byte [ecx]
mov bl, byte [eax + 0x1003f5f0]
test bl, 0x21
mov dword [esp + 0x6c], ecx
jne 0x4311bc
mov edi, ecx
and al, 0xdf
cmp al, 0x5b
jne 0x4311f8
lea esi, [edi + 1]
movzx eax, byte [edi + 1]
test byte [eax + 0x1003f5f0], 1
mov dword [esp + 0xa8], edx
je 0x430fa2
movzx eax, byte [edi + 2]
test byte [eax + 0x1003f5f0], 1
jne 0x43105f
mov eax, dword [esp + 0x78]
sub eax, edi
mov ecx, 0xaaaaaaab
mul ecx
mov dword [esp + 4], edi
mov eax, dword [ebp + 0x10]
and eax, 2
test eax, eax
jne 0x431233
shr edx, 2
add edx, 6
cmp edx, 0xfffffff
mov ebx, 0xfffffff
cmovb ebx, edx
mov dword [esp + 0x24], ebx
shl ebx, 4
push ebx
push dword [esp + 0x68]
call dword [esp + 0xa4]
add esp, 8
mov edx, eax
test eax, eax
je 0x4369fb
lea ecx, [ebx + edx]
add ecx, 0xffffffe0
mov eax, edx
add eax, 0x20
mov dword [esp + 4], esi
cmp byte [edi], 0x7b
jne 0x43102f
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 7
mov dword [edx + 0x28], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], eax
jmp 0x435562
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 6
mov dword [edx + 0x28], 0
xor esi, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], ecx
lea edi, [esp + 4]
jmp 0x4312e1
mov dword [esp + 4], edi
mov eax, dword [ebp + 0x10]
and eax, 2
jne 0x43123d
mov eax, dword [esp + 0x78]
sub eax, edi
shr eax, 4
add eax, 6
cmp eax, 0xfffffff
mov ebx, 0xfffffff
cmovb ebx, eax
mov dword [esp + 0x28], ebx
shl ebx, 4
push ebx
push dword [esp + 0x68]
call dword [esp + 0xa4]
add esp, 8
mov edx, eax
test eax, eax
je 0x431247
mov eax, edx
add eax, 0x20
mov dword [esp + 0x30], eax
mov dword [esp + 4], esi
cmp byte [edi], 0x7b
lea eax, [edi + 2]
lea ecx, [ebx + edx - 0x20]
mov dword [esp + 0x40], ecx
jne 0x4310f8
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 7
mov dword [edx + 0x28], 0
mov dword [esp + 0x10], 0
cmp byte [esi], 0xa
jne 0x4310ed
mov dword [esp + 4], eax
mov esi, eax
mov ecx, dword [esp + 0x30]
mov ebx, ecx
jmp 0x43e44e
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 6
mov dword [edx + 0x28], 0
mov dword [esp + 0x24], 0
cmp byte [esi], 0xa
jne 0x431120
mov dword [esp + 4], eax
mov esi, eax
mov ebx, dword [esp + 0x30]
jmp 0x439ee1
mov eax, dword [ebp + 0x18]
test eax, eax
cmovne edi, eax
mov dword [edi + 8], 0
mov dword [edi + 4], 0x1004afcd
mov dword [edi], 2
xor esi, esi
jmp 0x4313bc
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x74], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x64], eax
test ebx, ebx
jne 0x430ef6
mov eax, dword [ebp + 0x18]
test eax, eax
cmovne edi, eax
mov dword [edi + 8], 0
mov dword [edi + 4], 0x1004b057
jmp 0x431199
mov eax, dword [ebp + 0x18]
test eax, eax
cmovne edi, eax
mov dword [edi + 8], 0
mov dword [edi + 4], 0x1004b071
mov dword [edi], 1
xor esi, esi
jmp 0x4313bc
add esi, ebx
mov dword [esp + 0xa0], ebx
xor edx, edx
mov dword [esp + 0x78], esi
mov ecx, ebx
jmp 0x430f58
mov eax, dword [ebp + 0x10]
test al, 8
jne 0x4333a1
mov edi, ecx
test bl, 1
je 0x4311e7
mov edi, ecx
movzx eax, byte [edi + 1]
add edi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x4311d0
mov dword [esp + 0xa0], edi
cmp edi, dword [esp + 0x78]
jae 0x4333ce
mov al, byte [edi]
jmp 0x430f70
mov edx, edi
push dword [esp + 0xac]
push dword [ebp + 0x10]
push dword [esp + 0x6c]
push dword [esp + 0x80]
push dword [esp + 0x8c]
push dword [esp + 0xb0]
push dword [esp + 0x90]
call fcn.0044340e
add esp, 0x1c
mov esi, eax
jmp 0x443240
mov edx, 0x30
jmp 0x430fc7
mov eax, 0x16
jmp 0x43107b
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 4]
xor eax, eax
mov esi, dword [esp + 0x78]
cmp ecx, esi
setae al
cmovb esi, ecx
mov ecx, 0x1004afcd
mov edx, 0x1004b011
cmovb edx, ecx
sub esi, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea edi, [esp + 0x84]
cmove ecx, edi
mov dword [ecx + 8], esi
lea eax, [eax + eax*2]
add eax, 2
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor esi, esi
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x43138d
jmp 0x431399
mov ecx, esi
mov dword [esp + 0x40], edx
mov edx, edi
call fcn.0044333e
mov edx, dword [esp + 0x40]
test al, al
jne 0x4312e1
jmp 0x4370b8
add esi, 1
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esp + 4], esi
movzx eax, byte [esi]
add esi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x4312ce
mov esi, dword [esp + 4]
movzx ebx, byte [esi]
cmp ebx, 0x5b
je 0x4313c6
cmp bl, 0x7b
je 0x431428
mov al, byte [ebx + 0x1003f5f0]
test al, 2
jne 0x431492
mov ecx, ebx
add cl, 0xa3
cmp cl, 0x17
ja 0x43131e
movzx ecx, cl
jmp dword [ecx*4 + 0x10043a80]
cmp bl, 0x22
je 0x431882
test al, 1
jne 0x4312be
mov eax, dword [ebp + 0x10]
test al, 0x10
je 0x43133b
cmp bl, 0x4e
je 0x4323ea
mov eax, dword [ebp + 0x10]
test al, 8
jne 0x43129e
mov eax, edx
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x78]
cmp ecx, ebx
mov edx, 5
adc edx, 0
cmp ecx, ebx
cmovb ebx, ecx
mov ecx, 0x1004abf6
mov esi, 0x1004b011
cmovb esi, ecx
sub ebx, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea edi, [esp + 0x84]
cmove ecx, edi
mov dword [ecx + 8], ebx
mov dword [ecx], edx
mov dword [ecx + 4], esi
xor esi, esi
test eax, eax
je 0x431399
push eax
push dword [esp + 0x68]
call dword [esp + 0x7c]
add esp, 8
test esi, esi
je 0x432373
mov eax, dword [esp + 0xac]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, esi
mov ebx, dword [esp + 0x30]
add edi, 1
mov dword [esp + 4], edi
mov esi, dword [esp + 0x28]
mov eax, esi
shl esi, 8
mov edi, dword [esp + 0x2c]
movzx ecx, byte [edi]
or ecx, esi
shr eax, 0x18
add ecx, 0x100
adc eax, 0
mov dword [edi], ecx
mov dword [edi + 4], eax
add ebx, 0x10
mov ecx, dword [esp + 0x10]
cmp ebx, ecx
jae 0x432538
mov dword [ebx + 4], 0
mov dword [ebx], 6
mov eax, ebx
sub eax, dword [esp + 0x2c]
mov dword [ebx + 8], eax
xor esi, esi
mov eax, ebx
mov dword [esp + 0x2c], ebx
jmp 0x43104a
mov edi, esi
mov ebx, dword [esp + 0x30]
add edi, 1
mov dword [esp + 4], edi
mov esi, dword [esp + 0x28]
mov eax, esi
shl esi, 8
mov edi, dword [esp + 0x2c]
movzx ecx, byte [edi]
or ecx, esi
shr eax, 0x18
add ecx, 0x100
adc eax, 0
mov dword [edi], ecx
mov dword [edi + 4], eax
add ebx, 0x10
mov ecx, dword [esp + 0x10]
cmp ebx, ecx
mov edi, ebx
jae 0x4324d8
mov dword [edi + 4], 0
mov dword [edi], 7
mov eax, edi
sub eax, dword [esp + 0x2c]
mov dword [edi + 8], eax
mov dword [esp + 0x1c], 0
mov eax, edi
mov dword [esp + 0x2c], edi
jmp 0x435562
mov edi, dword [esp + 0x30]
add edi, 0x10
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x432598
mov dword [esp + 0x30], edi
mov edi, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x40], edx
add dword [esp + 0x28], 1
mov dword [esp + 0x80], 0
xor eax, eax
cmp bl, 0x2d
sete al
lea esi, [edi + eax]
mov dword [esp + 0x44], edi
movzx eax, byte [edi + eax]
test byte [eax + 0x1003f7a8], 2
je 0x4325fa
add eax, 0xffffffd0
movzx edx, byte [esi + 1]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x43264d
mov ecx, 0xa
imul ecx
mov ecx, edx
add eax, edi
adc ecx, 0
movzx edx, byte [esi + 2]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4326ad
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 3]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4326db
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 4]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x432709
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 5]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x432737
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 6]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x432765
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 7]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x432793
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 8]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4327c1
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 9]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4327ef
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xa]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x43281d
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xb]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x43284b
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xc]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x432879
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xd]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4328a7
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xe]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4328d5
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xf]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x432903
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0x10]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x432931
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0x11]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x43295b
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0x12]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x432985
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
mov dword [esp + 0x1c], eax
adc ecx, edx
mov dword [esp + 0x14], ecx
mov al, byte [esi + 0x13]
add esi, 0x13
movzx ecx, al
mov dl, byte [ecx + 0x1003f7a8]
test dl, 0x33
je 0x431cb0
test dl, 3
je 0x43175a
movzx edi, byte [esi + 1]
test byte [edi + 0x1003f7a8], 0x33
je 0x431d7a
test dl, 0x20
jne 0x431d19
mov dword [esp + 8], 0
cmp al, 0x2e
mov dword [esp + 0xc], ebx
jne 0x431e44
lea ecx, [esi + 1]
movzx eax, byte [esi + 1]
test byte [eax + 0x1003f7a8], 3
je 0x4396e4
mov dword [esp + 8], esi
jmp 0x431e46
mov edi, dword [esp + 0x30]
add edi, 0x10
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jae 0x432bf2
mov dword [esp + 0x30], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x28]
add ecx, 1
mov bl, byte [esi + 1]
add esi, 1
mov dword [esp], esi
mov dword [esp + 0x28], ecx
movzx eax, bl
test byte [eax + 0x1003f5f0], 0xc
jne 0x431b36
mov eax, dword [esp]
add eax, 8
nop dword [eax]
movzx ebx, byte [eax - 7]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x4319f1
movzx ebx, byte [eax - 6]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a02
movzx ebx, byte [eax - 5]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a13
movzx ebx, byte [eax - 4]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a24
movzx ebx, byte [eax - 3]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a35
movzx ebx, byte [eax - 2]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a43
movzx ebx, byte [eax - 1]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a51
movzx ebx, byte [eax]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431ab6
movzx ebx, byte [eax + 1]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a5f
movzx ebx, byte [eax + 2]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a6d
movzx ebx, byte [eax + 3]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a7b
movzx ebx, byte [eax + 4]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a89
movzx ebx, byte [eax + 5]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431a97
movzx ebx, byte [eax + 6]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431aa5
movzx ebx, byte [eax + 7]
test byte [ebx + 0x1003f5f0], 0xc
jne 0x431ab3
movzx ebx, byte [eax + 8]
add eax, 0x10
test byte [ebx + 0x1003f5f0], 0xc
je 0x4318ce
add eax, 0xfffffff8
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 0xfffffff9
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 0xfffffffa
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 0xfffffffb
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 0xfffffffc
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 0xfffffffd
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 0xfffffffe
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 0xffffffff
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 1
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 2
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 3
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 4
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 5
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 6
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
add eax, 7
cmp bl, 0x22
je 0x431c7e
test bl, bl
jns 0x433724
test dword [ebp + 0x10], 0x40000000
jne 0x431b47
mov ebx, dword [eax]
mov edi, ebx
and edi, 0xc0c0f0
mov dword [esp + 0x14], ebx
mov dword [esp], eax
mov ecx, ebx
cmp edi, 0x8080e0
jne 0x431bb7
mov edi, dword [esp + 0x14]
and edi, 0x200f
je 0x431bb3
cmp edi, 0x200d
je 0x431bb3
mov ecx, dword [esp]
mov ebx, dword [ecx + 3]
add ecx, 3
mov dword [esp], ecx
mov edi, ebx
and edi, 0xc0c0f0
mov dword [esp + 0x14], ebx
cmp edi, 0x8080e0
je 0x431aef
mov ebx, dword [esp + 0x14]
mov ecx, ebx
jmp 0x431bb7
mov eax, dword [esp]
cmp bl, 0x22
je 0x431c7e
jmp 0x431abf
mov ebx, dword [eax]
mov edx, ebx
and edx, 0x800080
cmp edx, 0x800080
jne 0x431ba7
add eax, 2
test ebx, 0xff00
je 0x4370c6
cmp ebx, 0xffffff
jbe 0x4370c9
mov ebx, dword [eax + 2]
mov edx, ebx
and edx, 0x800080
add eax, 4
cmp edx, 0x800080
je 0x431b5c
add eax, 0xfffffffe
jmp 0x431ba7
movzx eax, bx
cmp eax, 0xff
jbe 0x437b1e
mov eax, dword [esp]
movzx ebx, word [eax + 2]
add eax, 2
mov dword [esp], eax
test bl, bl
js 0x431b8f
jmp 0x4318b5
mov ecx, dword [esp + 0x14]
test cl, cl
jns 0x4318b5
mov edi, dword [esp + 0x14]
and edi, 0xc0e0
cmp edi, 0x80c0
jne 0x431c07
mov edi, dword [esp + 0x14]
and edi, 0x1e
je 0x431c07
mov ecx, dword [esp]
mov edx, dword [ecx + 2]
add ecx, 2
mov dword [esp], ecx
mov dword [esp + 0x14], edx
mov ecx, edx
and ecx, 0xc0e0
cmp ecx, 0x80c0
jne 0x431c03
mov ecx, dword [esp + 0x14]
and ecx, 0x1e
jne 0x431bda
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
and edx, 0xc0c0c0f8
cmp edx, 0x808080f0
jne 0x431c70
mov edx, dword [esp + 0x14]
and edx, 0x3007
je 0x431c70
test byte [esp + 0x14], 4
je 0x431c36
and dword [esp + 0x14], 0x3003
jne 0x431c70
mov edx, dword [esp]
add edx, 4
mov dword [esp], edx
mov ebx, dword [edx]
mov ecx, ebx
and ecx, 0xc0c0c0f8
cmp ecx, 0x808080f0
jne 0x431c70
mov ecx, ebx
and ecx, 0x3007
je 0x431c70
mov ecx, dword [esp]
lea edx, [ecx + 4]
test bl, 4
je 0x431c3c
mov ecx, ebx
and ecx, 0x3003
je 0x431c3c
cmp eax, dword [esp]
jne 0x4318b5
jmp 0x4359c8
mov edi, eax
mov ecx, edi
sub ecx, esi
mov edx, ecx
sar edx, 0x1f
shld edx, ecx, 8
mov ebx, dword [esp + 0x30]
mov dword [ebx + 4], edx
shl ecx, 8
or ecx, 5
mov dword [ebx], ecx
mov dword [ebx + 8], esi
mov byte [edi], 0
add eax, 1
mov dword [esp + 4], eax
mov esi, eax
jmp 0x432321
cmp bl, 0x2d
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
jne 0x431d41
mov eax, 0x80000000
mov ecx, edx
neg ecx
sbb eax, edi
jae 0x431d41
mov eax, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], 0x14
movd xmm0, edx
movd xmm1, edi
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x10042f40]
subpd xmm0, xmmword [0x10042f50]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
xorpd xmm1, xmmword [0x1003eaf0]
movlpd qword [eax + 8], xmm1
jmp 0x43231d
mov dword [esp], 0
mov dword [esp + 0x18], 0
mov dword [esp + 8], esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x20], 0
jmp 0x431f6f
xor eax, eax
mov ecx, edx
neg ecx
sbb eax, edi
xor edx, edx
cmp bl, 0x2d
sete dl
lea edx, [edx*8 + 4]
mov ebx, edi
mov edi, dword [esp + 0x30]
mov dword [edi], edx
cmovne eax, ebx
cmovne ecx, dword [esp + 0x1c]
mov dword [edi + 4], 0
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
jmp 0x43231d
add ecx, 0xffffffd0
cmp dword [esp + 0x1c], 0x99999999
mov edi, dword [esp + 0x14]
sbb edi, 0x19999999
jb 0x431dbe
mov edi, 0x19999999
mov dword [esp], eax
mov eax, ebx
mov ebx, 0x99999999
xor ebx, dword [esp + 0x1c]
xor edi, dword [esp + 0x14]
or edi, ebx
mov ebx, eax
mov eax, dword [esp]
jne 0x43175a
cmp ecx, 5
ja 0x43175a
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
add esi, 1
mov edi, dword [esp + 0x14]
lea edi, [edi + edi*4]
lea edx, [edx + edi*2]
mov edi, ecx
sar edi, 0x1f
add eax, ecx
adc edx, edi
cmp bl, 0x2d
jne 0x431eb6
mov ecx, 0x80000000
mov edi, eax
neg edi
sbb ecx, edx
jae 0x431eb6
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
movd xmm0, eax
movd xmm1, edx
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x10042f40]
subpd xmm0, xmmword [0x10042f50]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
xorpd xmm1, xmmword [0x1003eaf0]
movlpd qword [ecx + 8], xmm1
jmp 0x43231d
mov ecx, esi
mov dword [esp + 0x20], ecx
add ecx, 1
mov esi, dword [esp + 0x14]
movzx ebx, byte [ecx]
movzx edx, byte [ebx + 0x1003f7a8]
add ecx, 1
test dl, 3
jne 0x431e51
cmp al, 0x34
mov eax, 0
seta al
add dword [esp + 0x1c], eax
adc esi, 0
mov dword [esp + 0x14], esi
lea esi, [ecx - 1]
cmp dword [esp + 8], 0
jne 0x431ef9
cmp bl, 0x2e
jne 0x431ef5
movzx eax, byte [ecx]
test byte [eax + 0x1003f7a8], 3
mov ebx, dword [esp + 0xc]
je 0x4396e4
movzx eax, byte [ecx + 1]
add ecx, 1
movzx edx, byte [eax + 0x1003f7a8]
test dl, 3
jne 0x431e9b
mov dword [esp + 8], esi
mov esi, ecx
jmp 0x431efd
xor ecx, ecx
mov edi, eax
neg edi
sbb ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, ebx
xor ebx, ebx
cmp cl, 0x2d
sete bl
lea ebx, [ebx*8 + 4]
mov ecx, dword [esp + 0x30]
mov dword [ecx], ebx
mov ebx, dword [esp + 0x14]
cmovne ebx, edx
cmovne edi, eax
mov dword [ecx + 4], 0
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], ebx
jmp 0x43231d
mov dword [esp + 8], esi
mov ebx, dword [esp + 0xc]
lea eax, [esi - 1]
jmp 0x431f11
add eax, 0xffffffff
movzx ecx, byte [eax]
cmp cl, 0x30
je 0x431f0e
cmp cl, 0x2e
je 0x431f0e
xor ecx, ecx
mov edi, dword [esp + 8]
sub edi, dword [esp + 0x20]
setb cl
mov dword [esp + 0x18], edi
sar dword [esp + 0x18], 0x1f
add ecx, edi
mov dword [esp], ecx
adc dword [esp + 0x18], 0
mov ecx, dword [esp + 0x20]
cmp eax, ecx
mov eax, esi
mov edi, 0
cmovb eax, edi
mov edi, 0
mov dword [esp + 0x34], eax
cmovb ecx, edi
mov dword [esp + 0x20], ecx
test dl, 0x20
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
je 0x43202a
movzx ecx, byte [esi + 1]
add esi, 1
mov al, byte [ecx + 0x1003f7a8]
and al, 0xc
cmp al, 1
mov edi, esi
sbb edi, 0xffffffff
movzx edx, byte [edi]
test byte [edx + 0x1003f7a8], 3
je 0x432c52
cmp dl, 0x30
mov dword [esp + 0xc], ebx
mov dword [esp + 0x50], ecx
jne 0x431fbb
movzx edx, byte [edi + 1]
add edi, 1
cmp edx, 0x30
je 0x431fa2
test byte [edx + 0x1003f7a8], 3
je 0x432368
xor eax, eax
mov dword [esp + 0x48], edi
mov esi, edi
xor ebx, ebx
mov ecx, edx
sar ecx, 0x1f
mov edi, edx
mov edx, 0xa
mul edx
add eax, edi
lea ebx, [ebx + ebx*4]
lea ebx, [edx + ebx*2]
adc ebx, ecx
movzx edx, byte [esi + 1]
add esi, 1
add eax, 0xffffffd0
adc ebx, 0xffffffff
test byte [edx + 0x1003f7a8], 3
jne 0x431fc5
mov edi, dword [esp + 0x48]
mov ecx, esi
sub ecx, edi
cmp ecx, 0x13
jge 0x432c67
xor ecx, ecx
mov edx, eax
neg edx
sbb ecx, ebx
cmp byte [esp + 0x50], 0x2d
cmovne ecx, ebx
cmovne edx, eax
add dword [esp], edx
adc dword [esp + 0x18], ecx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov eax, 0xfffffea8
cmp eax, dword [esp]
mov eax, 0xffffffff
sbb eax, dword [esp + 0x18]
jge 0x432b74
mov eax, dword [esp]
cmp eax, 0x135
sbb dword [esp + 0x18], 0
jge 0x432b9f
mov dword [esp + 0x80], eax
mov edi, eax
add eax, 0x16
cmp eax, 0x2c
ja 0x4320b0
mov eax, 0x200000
cmp dword [esp + 0x14], eax
jae 0x4320b0
movss xmm1, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x14]
unpcklps xmm1, xmm0
unpcklps xmm1, xmmword [0x10042f40]
subpd xmm1, xmmword [0x10042f50]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
test edi, edi
js 0x43232e
mulsd xmm0, qword [edi*8 + 0x1003f6f0]
jmp 0x43233c
mov eax, edi
lea eax, [edi + 0x132]
cmp eax, 0x251
ja 0x432c98
cmp dword [esp + 0x20], 0
jne 0x432c98
imul eax, edi, 0x3526a
shl edi, 4
mov dword [esp], edi
add eax, 0xffc10000
mov dword [esp + 0x48], eax
mov edi, dword [esp + 0x14]
bsr eax, edi
xor eax, 0x1f
mov edx, dword [esp + 0x1c]
bsr ecx, edx
xor ecx, 0x1f
add ecx, 0x20
test edi, edi
cmovne ecx, eax
mov eax, edi
shld eax, edx, cl
mov edi, edx
shl edi, cl
mov dword [esp + 0x54], ecx
test cl, 0x20
cmovne eax, edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], 0
mov eax, 0
cmovne edi, eax
mov ecx, dword [esp]
mov eax, dword [ecx + 0x10040e18]
mov dword [esp + 0x38], eax
mul edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x5c], edx
mov eax, dword [ecx + 0x10040e1c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x60], edi
mul edi
mov dword [esp + 0x58], edx
mov ecx, eax
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x50]
mul edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mul edi
add ecx, dword [esp + 0x5c]
adc eax, dword [esp + 0x58]
adc edx, 0
add ecx, dword [esp + 0x68]
mov dword [esp + 0x58], ecx
adc eax, dword [esp + 0x18]
adc edx, 0
mov dword [esp + 0x5c], eax
and eax, 0x1ff
add eax, 0xffffffff
mov ecx, 0
adc ecx, 0xffffffff
cmp eax, 0x1fe
sbb ecx, 0
mov dword [esp + 0x18], edx
jb 0x43226d
mov dword [esp + 0xc], ebx
mov ecx, dword [esp]
mov eax, dword [ecx + 0x10040e20]
mov dword [esp + 0x90], eax
mov edi, dword [esp + 0x60]
mul edi
mov dword [esp + 0x68], edx
mov ebx, dword [ecx + 0x10040e24]
mov eax, ebx
mul edi
mov ecx, edx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
mul edi
mov dword [esp], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], ebx
mov eax, ebx
mul edi
mov edi, dword [esp + 0x94]
add edi, dword [esp + 0x68]
adc ecx, 0
add edi, dword [esp + 0x90]
mov edi, dword [esp]
adc edi, 0
add ecx, eax
adc edx, 0
add ecx, edi
adc edx, 0
mov edi, ecx
add edi, dword [esp + 0x70]
mov dword [esp], edx
adc edx, dword [esp + 0x58]
mov ebx, edi
add ebx, 1
mov eax, edx
adc eax, 0
cmp ebx, 2
sbb eax, 0
jb 0x432d0f
cmp edi, dword [esp + 0x70]
mov eax, edx
sbb eax, dword [esp + 0x58]
setb al
cmp edi, ecx
sbb edx, dword [esp]
setb cl
or cl, al
movzx eax, cl
add dword [esp + 0x5c], eax
adc dword [esp + 0x18], 0
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x48]
shr edi, 0x10
mov edx, dword [esp + 0x18]
mov ecx, edx
not ecx
shr ecx, 0x1f
mov eax, dword [esp + 0x5c]
shld edx, eax, cl
mov dword [esp + 0x18], edx
shl eax, cl
mov edx, eax
and edx, 0x400
add edx, eax
mov eax, dword [esp + 0x18]
adc eax, 0
sub edi, dword [esp + 0x54]
sub edi, ecx
mov dword [esp + 0x14], edx
cmp edx, 0x400
mov ecx, eax
sbb ecx, 0
setb cl
mov byte [esp + 0x1c], cl
adc edi, 0
mov edx, eax
shr edx, 0xb
and edx, 0xfffff
test cl, cl
mov ecx, 0
cmovne edx, ecx
mov ecx, dword [esp + 0x14]
shld eax, ecx, 0x15
cmp byte [esp + 0x1c], 0
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x18], eax
xor eax, eax
cmp bl, 0x2d
sete al
shl eax, 0x1f
or eax, edx
shl edi, 0x14
add edi, 0x47e00000
or eax, edi
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
mov edx, dword [esp + 0x18]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov dword [esp + 4], esi
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
jmp 0x44304f
shl edi, 3
mov eax, 0x1003f6f0
sub eax, edi
divsd xmm0, qword [eax]
mov eax, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], 0x14
cmp bl, 0x2d
jne 0x43235a
xorpd xmm0, xmmword [0x1003eaf0]
movsd qword [eax + 8], xmm0
mov dword [esp + 4], esi
jmp 0x44304f
xor eax, eax
xor ebx, ebx
mov esi, edi
jmp 0x431ff7
mov eax, dword [ebp + 0x18]
test eax, eax
cmove eax, edi
cmp dword [eax + 8], 0
jne 0x43238e
mov eax, dword [ebp + 0x18]
test eax, eax
cmove eax, edi
cmp dword [eax], 2
jne 0x4323af
xor esi, esi
mov eax, dword [ebp + 0x10]
test al, 1
jne 0x4313bc
push dword [esp + 0x6c]
push dword [esp + 0x68]
call dword [esp + 0x7c]
add esp, 8
jmp 0x4313bc
mov eax, dword [esp + 0x6c]
mov al, byte [eax]
add al, 0x11
cmp al, 0x11
ja 0x43238e
movzx eax, al
jmp dword [eax*4 + 0x10043cc8]
mov ebx, edx
mov eax, dword [esp + 0x30]
add eax, 0x10
mov edi, eax
cmp eax, dword [esp + 0x10]
jae 0x43487d
add dword [esp + 0x28], 1
mov ecx, edi
mov eax, ebx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x40], edx
mov dl, byte [esi + 1]
or dl, 0x20
cmp dl, 0x61
jne 0x431348
mov dl, byte [esi + 2]
or dl, 0x20
cmp dl, 0x6e
jne 0x431348
mov ebx, 0x7ff80000
xor edi, edi
mov edx, esi
add edx, 3
mov dword [esp + 4], edx
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
lea esi, [ecx + 8]
mov dword [esi], edi
mov dword [esi + 4], ebx
mov esi, edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x24], edx
mov edx, eax
mov dword [esp + 0x30], ecx
jmp 0x432325
mov dword [esp + 0x14], edi
mov ebx, edx
mov eax, dword [esp + 0x24]
mov esi, eax
shr esi, 1
add esi, eax
cmp esi, 0xffffffe
ja 0x4369fd
mov edi, esi
shl edi, 4
push edi
push ebx
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x4369fd
mov edx, dword [esp + 0x14]
sub edx, ebx
mov ecx, dword [esp + 0x2c]
sub ecx, ebx
add edx, eax
add ecx, eax
mov dword [esp + 0x2c], ecx
lea ecx, [edi + eax]
add ecx, 0xffffffe0
mov edi, edx
mov edx, eax
mov dword [esp + 0x24], esi
jmp 0x431469
mov dword [esp + 0x14], ebx
mov ebx, edx
mov eax, dword [esp + 0x24]
mov esi, eax
shr esi, 1
add esi, eax
cmp esi, 0xffffffe
ja 0x4369fd
mov edi, esi
shl edi, 4
push edi
push ebx
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x4369fd
mov edx, dword [esp + 0x14]
sub edx, ebx
mov ecx, dword [esp + 0x2c]
sub ecx, ebx
add edx, eax
add ecx, eax
mov dword [esp + 0x2c], ecx
lea ecx, [edi + eax]
add ecx, 0xffffffe0
mov ebx, edx
mov edx, eax
mov dword [esp + 0x24], esi
jmp 0x431405
mov ebx, edx
mov ecx, dword [esp + 0x24]
mov eax, ecx
shr eax, 1
add ecx, eax
mov dword [esp + 0x24], ecx
cmp ecx, 0xffffffe
ja 0x4369fd
mov esi, dword [esp + 0x24]
shl esi, 4
push esi
push ebx
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x4369fd
sub edi, ebx
add edi, eax
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x2c]
sub edi, ebx
add edi, eax
mov dword [esp + 0x2c], edi
lea ecx, [esi + eax]
add ecx, 0xffffffe0
mov edi, dword [esp + 4]
mov bl, byte [edi]
mov edx, eax
jmp 0x4314ab
mov dword [esp + 0xc], ebx
cmp al, 0x30
jne 0x434991
movzx eax, byte [esi + 1]
add esi, 1
mov cl, byte [eax + 0x1003f7a8]
test cl, 0x33
jne 0x434a43
xor eax, eax
cmp byte [esp + 0xc], 0x2d
sete al
lea eax, [eax*8 + 4]
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
jmp 0x43231d
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], ebx
lea eax, [esi + 1]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
jne 0x434a83
mov eax, dword [esp + 0x1c]
mov edi, eax
sar edi, 0x1f
xor ecx, ecx
mov edx, eax
neg edx
sbb ecx, edi
xor ebx, ebx
cmp byte [esp + 0xc], 0x2d
sete bl
lea esi, [ebx*8 + 4]
mov ebx, dword [esp + 0x30]
mov dword [ebx], esi
cmovne ecx, edi
cmovne edx, eax
mov dword [ebx + 4], 0
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], ecx
mov esi, dword [esp + 8]
jmp 0x43231d
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 2]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434ac9
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 3]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434afb
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 4]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434b2d
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 5]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434b5f
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 6]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434b91
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 7]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434bc3
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 8]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434bf5
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 9]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434c27
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 0xa]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434c59
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 0xb]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434c8b
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 0xc]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434cbd
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 0xd]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434cef
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 0xe]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434d21
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 0xf]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434d53
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 0x10]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434d85
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 0x11]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x4329a5
cmp dl, 0x2e
je 0x434db7
jmp 0x434eb3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 0x12]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
jne 0x434eaa
xor eax, eax
mov edi, dword [esp + 0x1c]
mov ecx, edi
neg ecx
mov ebx, dword [esp + 0x14]
sbb eax, ebx
xor edx, edx
cmp byte [esp + 0xc], 0x2d
sete dl
lea edx, [edx*8 + 4]
mov esi, dword [esp + 0x30]
mov dword [esi], edx
cmovne eax, ebx
cmovne ecx, edi
mov dword [esi + 4], 0
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
mov esi, dword [esp + 8]
jmp 0x43231d
xor eax, eax
cmp bl, 0x2d
sete al
mov edi, dword [esp + 0x30]
mov dword [edi + 4], 0
mov dword [edi], 0x14
shl eax, 0x1f
mov dword [edi + 0xc], eax
mov dword [edi + 8], 0
jmp 0x43235f
mov edx, ebx
mov ebx, dword [esp + 0x2c]
mov eax, 0x1004ae7c
mov ecx, dword [ebp + 0x10]
test cl, 0x10
je 0x4396f1
cmp dl, 0x2d
mov edx, dword [esp + 0x30]
mov dword [edx + 4], 0
mov eax, 0xfff00000
mov ecx, 0x7ff00000
cmove ecx, eax
mov dword [edx], 0x14
mov dword [edx + 0xc], ecx
mov dword [edx + 8], 0
mov dword [esp + 4], esi
mov edx, dword [esp + 0x40]
mov dword [esp + 0x2c], ebx
jmp 0x432325
mov ebx, edx
mov ecx, dword [esp + 0x24]
mov eax, ecx
shr eax, 1
add ecx, eax
mov dword [esp + 0x24], ecx
cmp ecx, 0xffffffe
ja 0x4369fd
mov esi, dword [esp + 0x24]
shl esi, 4
push esi
push ebx
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x4369fd
sub edi, ebx
add edi, eax
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x2c]
sub edi, ebx
add edi, eax
mov dword [esp + 0x2c], edi
lea ecx, [esi + eax]
add ecx, 0xffffffe0
mov esi, dword [esp + 4]
mov edx, eax
jmp 0x431899
add edi, 0xffffffff
mov dword [esp + 4], edi
mov eax, 0x1004ac20
mov dword [esp + 0x44], edi
jmp 0x4396f1
cmp byte [esp + 0x50], 0x2d
jne 0x433034
xor eax, eax
cmp byte [esp + 0xc], 0x2d
sete al
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
shl eax, 0x1f
mov dword [ecx + 0xc], eax
jmp 0x432641
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x14]
bsr eax, ebx
xor eax, 0x1f
mov edx, dword [esp + 0x1c]
bsr ecx, edx
xor ecx, 0x1f
add ecx, 0x20
test ebx, ebx
cmovne ecx, eax
xor eax, eax
shld ebx, edx, cl
shl edx, cl
mov dword [esp + 0x54], ecx
test cl, 0x20
cmovne ebx, edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], 0
cmovne edx, eax
mov dword [esp + 0x60], edx
imul eax, edi, 0x3526a
shl edi, 4
add eax, 0xffc10000
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x10040e1c]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x10040e18]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x10040e24]
mov dword [esp + 0x98], eax
mov dword [esp + 0x5c], 0
xor eax, eax
cmp dword [esp + 0x20], 0
setne al
shl eax, 2
xor edi, edi
mov ecx, dword [esp + 0x54]
shld edi, eax, cl
shl eax, cl
xor edx, edx
test cl, 0x20
cmovne edi, eax
mov dword [esp + 0x18], edi
cmovne eax, edx
mov dword [esp], eax
sar dword [esp + 0x48], 0x10
mov edi, dword [esp + 0x98]
shr edi, 0x1f
add edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
adc ecx, 0
mov ebx, edi
imul ebx, dword [esp + 0x4c]
mov eax, edi
mul dword [esp + 0x60]
add edx, ebx
mov dword [esp + 0x38], edx
mov eax, ecx
mul dword [esp + 0x60]
mov ebx, eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x4c]
imul eax, ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], edi
mov eax, edi
mul dword [esp + 0x50]
mov dword [esp + 0x68], eax
mov dword [esp + 0x58], edx
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
imul eax, edi
mov dword [esp + 0x3c], eax
mov eax, ecx
mul dword [esp + 0x50]
mov dword [esp + 0x50], eax
imul edi, ecx
add ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x60]
adc ecx, dword [esp + 0x4c]
add ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x58]
adc eax, dword [esp + 0x3c]
add ecx, dword [esp + 0x50]
adc edx, edi
add ecx, eax
adc edx, 0
shr ebx, 0x1f
add ebx, ecx
adc edx, 0
xor eax, eax
mov ecx, dword [esp]
mov edi, dword [esp + 0x18]
or ecx, edi
sete al
mov ecx, dword [esp]
sub ecx, eax
sbb edi, 0
add ecx, 9
mov dword [esp], ecx
adc edi, 0
bsr eax, edx
xor eax, 0x1f
bsr ecx, ebx
xor ecx, 0x1f
add ecx, 0x20
test edx, edx
cmovne ecx, eax
shld edx, ebx, cl
mov dword [esp + 0x3c], edx
shl ebx, cl
mov edx, dword [esp]
shld edi, edx, cl
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x54]
shl edx, cl
mov dword [esp], edx
sub eax, ecx
mov dword [esp + 0x48], eax
test cl, 0x20
mov edx, dword [esp + 0x3c]
cmovne edx, ebx
mov ecx, 0
cmovne ebx, ecx
mov dword [esp + 0x50], ebx
mov eax, dword [esp]
cmovne edi, eax
mov dword [esp + 0x18], edi
cmovne eax, ecx
mov dword [esp], eax
mov eax, 0xfffffb8e
mov ecx, dword [esp + 0x48]
sub eax, ecx
lea ebx, [ecx + 0x40]
cmp ebx, 0xfffffb8f
mov ecx, 0x40
cmovge ecx, eax
mov eax, 0xb
cmp ebx, 0xfffffbc2
jle 0x43308b
cmp eax, 0x3d
mov dword [esp + 0x48], ebx
jge 0x433092
mov edi, edx
mov ebx, edx
mov ecx, eax
shr ebx, cl
test al, 0x20
mov ecx, ebx
mov edx, 0
cmovne ecx, edx
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x50]
mov ecx, eax
shrd edx, edi, cl
test al, 0x20
cmovne edx, ebx
mov dword [esp + 0x54], edx
mov ebx, 0xffffffff
mov ecx, eax
shl ebx, cl
test al, 0x20
mov ecx, 0xffffffff
mov edx, eax
mov eax, ebx
cmove ebx, ecx
mov ecx, 0
cmovne eax, ecx
not eax
and eax, dword [esp + 0x50]
not ebx
and ebx, edi
shld ebx, eax, 3
shl eax, 3
mov dword [esp + 0x38], edx
mov ecx, edx
add cl, 0xff
mov edi, 8
xor edx, edx
shld edx, edi, cl
shl edi, cl
test cl, 0x20
cmovne edx, edi
mov ecx, 0
cmovne edi, ecx
mov dword [esp + 0x5c], edi
mov ecx, edi
mov edi, dword [esp + 0x3c]
add ecx, dword [esp]
mov dword [esp + 0x50], edx
adc edx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], ecx
cmp eax, ecx
mov dword [esp + 0x4c], ebx
mov ecx, ebx
mov dword [esp + 0x68], edx
sbb ecx, edx
setae cl
movzx ebx, cl
add ebx, dword [esp + 0x54]
adc edi, 0
mov ecx, ebx
or ecx, edi
je 0x4330f7
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x48]
bsr edx, edi
xor edx, 0x1f
bsr ecx, ebx
xor ecx, 0x1f
add ecx, 0x20
test edi, edi
cmovne ecx, edx
shld edi, ebx, cl
shl ebx, cl
xor edx, edx
test cl, 0x20
cmovne edi, ebx
cmove edx, ebx
sub eax, ecx
cmp eax, 0x3c0
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x50]
jg 0x43304c
shrd edx, edi, 0xb
shr edi, 0xb
cmp eax, 0xfffffbc2
jle 0x43336f
shl eax, 0x14
and edi, 0xfffff
add eax, edi
add eax, 0x43e00000
mov dword [esp + 0x48], eax
xor eax, 0x7ff00000
or eax, edx
je 0x43304c
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x5c]
sub edx, dword [esp]
sbb ebx, dword [esp + 0x18]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x60]
cmp ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x4c]
mov eax, edi
sbb eax, dword [esp + 0x68]
jae 0x432ff9
cmp edx, ebx
sbb dword [esp + 0x50], edi
jb 0x43310a
xor eax, eax
cmp byte [esp + 0xc], 0x2d
sete al
shl eax, 0x1f
mov edx, dword [esp + 0x48]
or edx, eax
mov eax, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], 0x14
mov edi, dword [esp + 0x54]
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov dword [esp + 4], esi
mov edx, dword [esp + 0x40]
jmp 0x44304f
mov eax, 0x1004ae7c
mov ecx, dword [ebp + 0x10]
test cl, 0x10
je 0x4396f1
cmp byte [esp + 0xc], 0x2d
jmp 0x43305e
mov ecx, dword [esp + 0xc]
mov eax, dword [ebp + 0x10]
test al, 0x10
je 0x437fe3
cmp cl, 0x2d
mov edx, dword [esp + 0x30]
mov dword [edx + 4], 0
mov eax, 0xfff00000
mov ecx, 0x7ff00000
cmove ecx, eax
mov dword [edx], 0x14
mov dword [edx + 0xc], ecx
mov dword [edx + 8], 0
jmp 0x43231d
mov eax, ecx
jmp 0x432e86
lea ecx, [eax - 0x3c]
mov edi, dword [esp + 0x50]
shrd edi, edx, cl
shr edx, cl
mov dword [esp + 0x3c], edx
mov edx, dword [esp]
mov ebx, dword [esp + 0x18]
shrd edx, ebx, cl
shr ebx, cl
test cl, 0x20
mov ecx, dword [esp + 0x48]
lea ecx, [eax + ecx - 0x3c]
mov dword [esp + 0x48], ecx
cmovne edi, dword [esp + 0x3c]
mov dword [esp + 0x50], edi
mov eax, dword [esp + 0x3c]
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x3c], eax
cmovne edx, ebx
cmovne ebx, ecx
add edx, 9
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
adc ebx, 0
mov dword [esp + 0x18], ebx
mov eax, 0x3c
jmp 0x432e93
xor edx, edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], 0
jmp 0x433398
mov ecx, dword [esp + 0x48]
mov eax, ecx
and eax, 0x7ff00000
mov edi, dword [esp + 0x54]
shld ecx, edi, 1
mov ebx, 0x200000
lea edx, [ebx - 1]
and edx, ecx
mov ecx, eax
shr ecx, 0x14
add ecx, 0xfffffbcc
or ebx, edx
test eax, eax
mov eax, 0xfffffbcd
cmovne eax, ecx
mov dword [esp + 0x5c], eax
cmove ebx, edx
lea edi, [edi + edi + 1]
lea eax, [esp + 0x80]
lea ecx, [esp + 0xb0]
mov edx, dword [esp + 0x1c]
push dword [esp + 8]
push dword [esp + 0x38]
push dword [esp + 0x28]
push eax
push dword [esp + 0x24]
call fcn.0044a41e
add esp, 0x14
mov dword [esp + 0x2b8], 1
mov dword [esp + 0x2c0], edi
mov dword [esp + 0x2c4], ebx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x60], eax
test eax, eax
js 0x4333f6
cmp dword [esp + 0x60], 0x13
jge 0x4331fa
mov eax, dword [esp + 0x60]
test eax, eax
je 0x433e8e
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x20], ecx
xor edi, edi
test ecx, ecx
je 0x4335ce
mov ecx, dword [esp + edi*8 + 0xb8]
or ecx, dword [esp + edi*8 + 0xbc]
jne 0x4335ce
add edi, 1
cmp dword [esp + 0x20], edi
jne 0x4331c8
jmp 0x433e8e
mov ecx, dword [esp + 0x60]
lea eax, [ecx - 0x13]
cmp ecx, 0x25
mov dword [esp + 0x60], eax
jle 0x4331ab
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x50], eax
xor ebx, ebx
test eax, eax
je 0x433226
mov eax, dword [esp + ebx*8 + 0xb8]
or eax, dword [esp + ebx*8 + 0xbc]
jne 0x433226
add ebx, 1
cmp dword [esp + 0x50], ebx
jne 0x43320b
jmp 0x4331ea
cmp ebx, dword [esp + 0x50]
jae 0x4331ea
mov dword [esp + 0x20], 0
mov dword [esp + 8], 0
mov eax, dword [esp + ebx*8 + 0xb8]
mov dword [esp + 0x14], eax
mov ecx, 0x89e80000
mul ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
xor ecx, ecx
mov edi, 0x89e80000
add edi, 0xdf2304
setb cl
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mul edi
mov dword [esp], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + ebx*8 + 0xbc]
mov dword [esp + 0x18], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x1c]
imul eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mul edi
imul ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x14]
adc edi, dword [esp + 0x1c]
add ecx, dword [esp + 0x4c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
adc ecx, 0
add edi, eax
adc edx, dword [esp + 0x18]
add edi, ecx
mov dword [esp + 0x14], edi
adc edx, 0
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x3c]
and ecx, 0xfff80000
mov edi, dword [esp + 0x20]
add ecx, edi
mov edx, dword [esp + 8]
mov eax, dword [esp]
adc eax, edx
setb byte [esp]
cmp ecx, edi
mov edi, eax
sbb edi, edx
mov dword [esp + ebx*8 + 0xbc], eax
setb ah
or ah, byte [esp]
movzx eax, ah
add eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov dword [esp + ebx*8 + 0xb8], ecx
mov edx, dword [esp + 0x1c]
adc edx, 0
mov dword [esp + 8], edx
add ebx, 1
cmp dword [esp + 0x50], ebx
jne 0x43323c
mov eax, dword [esp + 0x20]
or eax, dword [esp + 8]
je 0x4331ea
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 1]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0xbc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + eax*8 + 0xb8], ecx
jmp 0x4331ea
cmp eax, 0xfffffb8f
jl 0x434f22
mov ebx, eax
mov cl, 0xc3
sub cl, bl
shrd edx, edi, cl
shr edi, cl
xor eax, eax
test cl, 0x20
cmovne edx, edi
cmove eax, edi
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x50]
jmp 0x432fc6
mov esi, edx
lea edx, [esp + 0xa0]
call fcn.0044333e
mov edi, dword [esp + 0xa0]
test al, al
je 0x4336fc
mov ecx, dword [esp + 0x6c]
mov edx, esi
cmp edi, dword [esp + 0x78]
jb 0x4311f1
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea eax, [esp + 0x84]
cmovne eax, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0x1004aa58
mov dword [eax], 3
jmp 0x43238e
mov eax, dword [esp + 0x60]
mov ecx, eax
neg ecx
mov dword [esp + 0x58], ecx
mov dword [esp], 1
cmp eax, 0xffffffed
jg 0x433d3d
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 0
jne 0x433439
jmp 0x433459
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x58], eax
cmp dword [esp + 0x20], 0
je 0x433459
xor ebx, ebx
mov eax, dword [esp + ebx*8 + 0x2c0]
or eax, dword [esp + ebx*8 + 0x2c4]
jne 0x43345b
add ebx, 1
cmp dword [esp + 0x20], ebx
jne 0x43343b
jmp 0x43359f
xor ebx, ebx
cmp ebx, dword [esp + 0x20]
jae 0x43359f
mov dword [esp + 8], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + ebx*8 + 0x2c0]
mov dword [esp + 0x14], eax
mov ecx, 0x89e80000
mul ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
xor ecx, ecx
mov edi, 0x89e80000
add edi, 0xdf2304
setb cl
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mul edi
mov dword [esp], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + ebx*8 + 0x2c4]
mov dword [esp + 0x18], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x1c]
imul eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mul edi
imul ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x14]
adc edi, dword [esp + 0x1c]
add ecx, dword [esp + 0x4c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
adc ecx, 0
add edi, eax
adc edx, dword [esp + 0x18]
add edi, ecx
mov dword [esp + 0x14], edi
adc edx, 0
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x3c]
and ecx, 0xfff80000
mov edi, dword [esp + 8]
add ecx, edi
mov edx, dword [esp + 0x50]
mov eax, dword [esp]
adc eax, edx
setb byte [esp]
cmp ecx, edi
mov edi, eax
sbb edi, edx
mov dword [esp + ebx*8 + 0x2c4], eax
setb ah
or ah, byte [esp]
movzx eax, ah
add eax, dword [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + ebx*8 + 0x2c0], ecx
mov edx, dword [esp + 0x1c]
adc edx, 0
mov dword [esp + 0x50], edx
add ebx, 1
cmp dword [esp + 0x20], ebx
jne 0x433475
mov eax, dword [esp + 8]
or eax, dword [esp + 0x50]
je 0x43359f
mov eax, dword [esp + 0x2b8]
lea ecx, [eax + 1]
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + eax*8 + 0x2c4], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0x2c0], ecx
mov ecx, dword [esp + 0x58]
lea eax, [ecx - 0x13]
cmp ecx, 0x26
jge 0x433423
test eax, eax
je 0x433e8e
mov ecx, dword [esp + 0x2b8]
mov dword [esp], ecx
test ecx, ecx
jne 0x433d41
jmp 0x433e8e
cmp edi, dword [esp + 0x20]
jae 0x433e8e
mov ecx, dword [eax*8 + 0x1004226c]
mov dword [esp + 0x4c], ecx
mov eax, dword [eax*8 + 0x10042268]
mov dword [esp + 8], eax
mov dword [esp], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + edi*8 + 0xb8]
mov eax, ecx
mul dword [esp + 8]
mov dword [esp + 0x50], edx
mov dword [esp + 0x14], eax
mov eax, ecx
mov ebx, dword [esp + 0x4c]
mul ebx
mov ecx, eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + edi*8 + 0xbc]
mov dword [esp + 0x34], eax
mul dword [esp + 8]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x34]
mul ebx
mov dword [esp + 0x34], eax
add ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x1c]
adc ebx, 0
add ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
adc eax, 0
add ebx, dword [esp + 0x34]
adc edx, 0
add ebx, eax
mov dword [esp + 0x1c], ebx
adc edx, 0
mov dword [esp + 0x50], edx
mov ebx, dword [esp]
mov eax, dword [esp + 0x14]
add eax, ebx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x18]
adc ecx, edx
setb byte [esp + 0x3c]
cmp eax, ebx
mov ebx, ecx
sbb ebx, edx
mov dword [esp + edi*8 + 0xbc], ecx
setb cl
or cl, byte [esp + 0x3c]
movzx eax, cl
add eax, dword [esp + 0x1c]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + edi*8 + 0xb8], eax
mov edx, dword [esp + 0x50]
adc edx, 0
mov dword [esp + 0x18], edx
add edi, 1
cmp dword [esp + 0x20], edi
jne 0x4335fd
mov eax, dword [esp]
or eax, dword [esp + 0x18]
je 0x433e8e
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 1]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + eax*8 + 0xbc], ecx
mov ecx, dword [esp]
mov dword [esp + eax*8 + 0xb8], ecx
jmp 0x433e8e
sub edi, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea eax, [esp + 0x84]
cmovne eax, ecx
mov dword [eax + 8], edi
mov dword [eax + 4], 0x1004aae4
mov dword [eax], 8
jmp 0x43238e
mov edi, eax
cmp bl, 0x5c
jne 0x434fdd
mov cl, byte [eax + 1]
add cl, 0xde
cmp cl, 0x53
ja 0x438697
movzx ecx, cl
jmp dword [ecx*4 + 0x10043ae0]
mov eax, dword [esp + 0x58]
mov ecx, dword [eax*8 + 0x1004226c]
mov dword [esp + 0x18], ecx
mov eax, dword [eax*8 + 0x10042268]
mov dword [esp + 0x20], eax
xor ecx, ecx
mov edi, dword [esp + ecx*8 + 0x2c0]
mov edx, dword [esp + ecx*8 + 0x2c4]
mov eax, edi
or eax, edx
jne 0x433d7a
add ecx, 1
cmp dword [esp], ecx
jne 0x433d59
jmp 0x433e8e
cmp ecx, dword [esp]
jae 0x433e8e
mov ebx, edx
add ecx, 1
mov dword [esp + 8], 0
mov dword [esp + 0x50], 0
mov eax, edi
mul dword [esp + 0x20]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
mov eax, edi
mul dword [esp + 0x18]
mov dword [esp + 0x1c], edx
mov edi, eax
mov eax, ebx
mul dword [esp + 0x20]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], eax
mov eax, ebx
mul dword [esp + 0x18]
mov dword [esp + 0x4c], eax
add edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
adc ebx, 0
add edi, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
adc eax, 0
add ebx, dword [esp + 0x4c]
adc edx, 0
add ebx, eax
mov dword [esp + 0x1c], ebx
adc edx, 0
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x14]
add eax, ebx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x50]
adc edi, edx
setb byte [esp + 0x38]
cmp eax, ebx
mov ebx, edi
sbb ebx, edx
mov dword [esp + ecx*8 + 0x2bc], edi
setb ah
or ah, byte [esp + 0x38]
movzx eax, ah
add eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esp + ecx*8 + 0x2b8], eax
mov edx, dword [esp + 0x3c]
adc edx, 0
mov dword [esp + 0x50], edx
cmp dword [esp], ecx
je 0x433e5d
mov edi, dword [esp + ecx*8 + 0x2c0]
mov ebx, dword [esp + ecx*8 + 0x2c4]
add ecx, 1
jmp 0x433d98
mov eax, dword [esp + 8]
or eax, dword [esp + 0x50]
je 0x433e8e
mov eax, dword [esp + 0x2b8]
lea ecx, [eax + 1]
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + eax*8 + 0x2c4], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0x2c0], ecx
cmp dword [esp + 0x5c], 0
jle 0x433f6f
mov eax, dword [esp + 0x5c]
mov ecx, eax
shr ecx, 6
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 0x14], ecx
and eax, 0x3f
mov dword [esp + 0x5c], eax
je 0x434f31
mov eax, dword [esp + 0x14]
mov dword [esp + eax*8 + 0x2c4], 0
mov dword [esp + eax*8 + 0x2c0], 0
test eax, eax
je 0x43437a
mov ecx, 0x40
sub ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + edx*8 + 0x2b8]
mov edx, dword [esp + edx*8 + 0x2bc]
mov edi, edx
shr edi, cl
shrd eax, edx, cl
xor ebx, ebx
mov dword [esp + 0x1c], ecx
test cl, 0x20
cmovne eax, edi
cmove ebx, edi
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
lea ecx, [edi + edx]
mov dword [esp + ecx*8 + 0x2c0], eax
mov dword [esp], ecx
mov dword [esp + ecx*8 + 0x2c4], ebx
cmp edi, 1
je 0x43437a
mov eax, dword [esp + 0x14]
lea ecx, [eax - 1]
mov dword [esp + 0x18], ecx
lea edi, [esp + eax*8]
add edi, 0x2b8
cmp eax, 2
jne 0x434047
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
test byte [esp + 0x14], 1
jne 0x4341a2
mov ebx, dword [esp + 0x14]
jmp 0x434220
mov eax, dword [esp + 0x5c]
neg eax
mov ecx, eax
shr ecx, 6
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x14], ecx
and eax, 0x3f
mov dword [esp + 0x5c], eax
je 0x434f87
mov eax, dword [esp + 0x14]
mov dword [esp + eax*8 + 0xbc], 0
mov dword [esp + eax*8 + 0xb8], 0
test eax, eax
je 0x434724
mov ecx, 0x40
sub ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + edx*8 + 0xb0]
mov edx, dword [esp + edx*8 + 0xb4]
mov edi, edx
shr edi, cl
shrd eax, edx, cl
xor ebx, ebx
mov dword [esp + 0x1c], ecx
test cl, 0x20
cmovne eax, edi
cmove ebx, edi
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
lea ecx, [edi + edx]
mov dword [esp + ecx*8 + 0xb8], eax
mov dword [esp], ecx
mov dword [esp + ecx*8 + 0xbc], ebx
cmp edi, 1
je 0x434724
mov eax, dword [esp + 0x14]
lea ecx, [eax - 1]
mov dword [esp + 0x18], ecx
lea edi, [esp + eax*8]
add edi, 0xb0
cmp eax, 2
jne 0x4343f3
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
test byte [esp + 0x14], 1
jne 0x43454c
mov ebx, dword [esp + 0x14]
jmp 0x4345ca
mov eax, dword [esp + 0x14]
add eax, 0xfffffffe
mov ecx, 8
mul ecx
mov ecx, dword [esp]
lea edx, [esp + ecx*8 + 0x2b8]
seto cl
mov ebx, eax
mov dword [esp + 0x20], eax
cmp eax, edx
ja 0x433f53
test cl, cl
jne 0x433f53
mov edx, dword [esp + 0x14]
lea edx, [esp + edx*8]
add edx, 0x2b8
cmp dword [esp + 0x20], edx
ja 0x433f53
test cl, cl
jne 0x433f53
mov ebx, dword [esp + 0x14]
lea ebx, [esp + ebx*8]
add ebx, 0x2b0
cmp dword [esp + 0x20], ebx
ja 0x433f53
test cl, cl
jne 0x433f53
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0x2c8
mov ebx, dword [esp]
lea eax, [esp + ebx*8]
add eax, 0x2c0
mov ebx, dword [esp + 0x14]
lea ebx, [esp + ebx*8]
add ebx, 0x2c0
cmp ecx, ebx
setb byte [esp + 0x14]
lea ebx, [esp + 0x2c8]
cmp eax, ebx
seta bh
cmp ecx, edx
setb cl
lea edx, [esp + 0x2c0]
cmp eax, edx
seta dl
test byte [esp + 0x14], bh
jne 0x433f53
and cl, dl
jne 0x433f53
mov edx, dword [esp]
shl edx, 3
mov ecx, dword [esp + 0x18]
and ecx, 0xfffffffe
mov ebx, ecx
neg ebx
mov dword [esp], ecx
lea ecx, [ecx*8]
sub edi, ecx
lea ecx, [esp + 0x2b8]
add edx, ecx
add edx, 0xfffffff8
mov ecx, dword [esp + 0x18]
and ecx, 1
mov dword [esp + 0x14], ecx
movd xmm0, dword [esp + 0x5c]
movd xmm1, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add eax, esp
add eax, 0x2b8
xor ecx, ecx
movdqu xmm2, xmmword [eax + ecx*8]
movdqu xmm3, xmmword [eax + ecx*8 + 8]
pshufd xmm3, xmm3, 0x4e
psllq xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
psrlq xmm2, xmm1
por xmm2, xmm3
pshufd xmm2, xmm2, 0x4e
movdqu xmmword [edx + ecx*8], xmm2
add ecx, 0xfffffffe
cmp ebx, ecx
jne 0x43415e
mov eax, dword [esp]
cmp dword [esp + 0x18], eax
jne 0x433f5b
jmp 0x43437a
mov eax, edi
mov edi, dword [edi]
mov ebx, dword [eax + 4]
mov eax, edi
mov ecx, dword [esp + 0x5c]
shl eax, cl
shld ebx, edi, cl
xor edx, edx
test cl, 0x20
cmovne ebx, eax
mov dword [esp + 0x18], ebx
cmovne eax, edx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + ecx*8 + 0x2bc]
mov dword [esp], edi
mov ecx, dword [esp + 0x1c]
shr edi, cl
mov edx, dword [esp + 0x14]
mov edx, dword [esp + edx*8 + 0x2b8]
mov ebx, dword [esp]
shrd edx, ebx, cl
test cl, 0x20
cmovne edx, edi
mov ecx, 0
cmovne edi, ecx
or edi, dword [esp + 0x18]
or edx, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
add eax, ecx
mov dword [esp + eax*8 + 0x2c0], edx
mov dword [esp + eax*8 + 0x2c4], edi
lea ebx, [ecx - 1]
lea edi, [esp + ecx*8]
add edi, 0x2b8
cmp dword [esp + 0x14], 1
je 0x43437a
mov eax, dword [esp + 0x34]
lea eax, [esp + eax*8]
add eax, 0x2c0
mov dword [esp], eax
mov dword [esp + 0x14], edi
mov eax, dword [edi]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x5c]
shl eax, cl
mov dword [esp + 8], eax
test cl, 0x20
mov ecx, eax
mov eax, 0
cmovne ecx, eax
mov dword [esp + 0x50], ecx
mov eax, ebx
mov dword [esp + 0x18], ebx
mov edi, dword [esp + ebx*8 + 0x2bc]
mov dword [esp + 0x3c], edi
mov edx, dword [esp + 0x1c]
mov ecx, edx
shr edi, cl
mov dword [esp + 0x38], edi
mov ebx, dword [esp + ebx*8 + 0x2b8]
mov edi, dword [esp + 0x3c]
shrd ebx, edi, cl
test dl, 0x20
mov edx, dword [esp + 0x38]
cmovne ebx, edx
mov ecx, 0
cmovne edx, ecx
mov edi, edx
or ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, dword [esp]
mov dword [ecx + eax*8], ebx
mov ebx, dword [esp + eax*8 + 0x2b8]
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x5c]
mov ecx, eax
shl ebx, cl
mov dword [esp + 0x50], ebx
test al, 0x20
mov dword [esp + 0x14], ebx
mov ecx, 0
mov ebx, dword [esp + 0x14]
cmovne ebx, ecx
mov dword [esp + 0x14], ebx
mov ecx, eax
mov ebx, dword [esp + 0x20]
shld edx, ebx, cl
test al, 0x20
cmovne edx, dword [esp + 8]
or edx, edi
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + ebx*8 + 0x2b0]
mov ecx, dword [esp]
mov dword [ecx + ebx*8 + 4], edx
mov edx, ebx
mov ebx, dword [esp + ebx*8 + 0x2bc]
mov ecx, eax
mov eax, dword [esp + 0x3c]
shld ebx, eax, cl
test cl, 0x20
cmovne ebx, dword [esp + 0x50]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + edx*8 + 0x2b4]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x1c]
mov ecx, edx
shr eax, cl
test dl, 0x20
mov ebx, eax
mov ecx, 0
cmovne ebx, ecx
mov ecx, edx
mov edx, dword [esp + 8]
shrd edi, edx, cl
test byte [esp + 0x1c], 0x20
cmovne edi, eax
or ebx, dword [esp + 0x20]
or edi, dword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [esp + 0x18]
mov dword [ecx + eax*8 - 8], edi
mov dword [ecx + eax*8 - 4], ebx
lea edi, [esp + eax*8]
add edi, 0x2b0
lea ebx, [eax - 2]
test ebx, ebx
jne 0x43423a
mov eax, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2c4]
mov edi, eax
mov ecx, dword [esp + 0x5c]
shl edi, cl
shld edx, eax, cl
xor eax, eax
test cl, 0x20
cmovne edx, edi
cmove eax, edi
mov edi, dword [esp + 0x34]
mov dword [esp + edi*8 + 0x2c0], eax
mov dword [esp + edi*8 + 0x2c4], edx
mov eax, dword [esp + 0x2b8]
add eax, edi
mov ecx, dword [esp + eax*8 + 0x2c0]
xor edx, edx
or ecx, dword [esp + eax*8 + 0x2c4]
setne dl
add edx, eax
mov dword [esp + 0x2b8], edx
test edi, edi
je 0x43479d
mov eax, dword [esp + 0x34]
shl eax, 3
push eax
push 0
lea eax, [esp + 0x2c8]
jmp 0x434794
mov eax, dword [esp + 0x14]
add eax, 0xfffffffe
mov ecx, 8
mul ecx
mov ecx, dword [esp]
lea edx, [esp + ecx*8 + 0xb0]
seto cl
mov ebx, eax
mov dword [esp + 0x20], eax
cmp eax, edx
ja 0x43402b
test cl, cl
jne 0x43402b
mov edx, dword [esp + 0x14]
lea edx, [esp + edx*8]
add edx, 0xb0
cmp dword [esp + 0x20], edx
ja 0x43402b
test cl, cl
jne 0x43402b
mov ebx, dword [esp + 0x14]
lea ebx, [esp + ebx*8]
add ebx, 0xa8
cmp dword [esp + 0x20], ebx
ja 0x43402b
test cl, cl
jne 0x43402b
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0xc0
mov ebx, dword [esp]
lea eax, [esp + ebx*8]
add eax, 0xb8
mov ebx, dword [esp + 0x14]
lea ebx, [esp + ebx*8]
add ebx, 0xb8
cmp ecx, ebx
setb byte [esp + 0x14]
lea ebx, [esp + 0xc0]
cmp eax, ebx
seta bh
cmp ecx, edx
lea edx, [esp + 0xb8]
setb cl
cmp eax, edx
seta dl
test byte [esp + 0x14], bh
jne 0x43402b
and cl, dl
jne 0x43402b
mov edx, dword [esp]
shl edx, 3
mov ebx, dword [esp + 0x18]
and ebx, 0xfffffffe
lea ecx, [ebx*8]
sub edi, ecx
mov dword [esp], ebx
neg ebx
lea ecx, [esp + 0xb0]
add edx, ecx
add edx, 0xfffffff8
mov ecx, dword [esp + 0x18]
and ecx, 1
mov dword [esp + 0x14], ecx
movd xmm0, dword [esp + 0x5c]
movd xmm1, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add eax, esp
add eax, 0xb0
xor ecx, ecx
movdqu xmm2, xmmword [eax + ecx*8]
movdqu xmm3, xmmword [eax + ecx*8 + 8]
pshufd xmm3, xmm3, 0x4e
psllq xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
psrlq xmm2, xmm1
por xmm2, xmm3
pshufd xmm2, xmm2, 0x4e
movdqu xmmword [edx + ecx*8], xmm2
add ecx, 0xfffffffe
cmp ebx, ecx
jne 0x434508
mov eax, dword [esp]
cmp dword [esp + 0x18], eax
jne 0x434033
jmp 0x434724
mov eax, edi
mov edi, dword [edi]
mov ebx, dword [eax + 4]
mov eax, edi
mov ecx, dword [esp + 0x5c]
shl eax, cl
shld ebx, edi, cl
xor edx, edx
test cl, 0x20
cmovne ebx, eax
mov dword [esp + 0x18], ebx
cmovne eax, edx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + ecx*8 + 0xb4]
mov dword [esp], edi
mov ecx, dword [esp + 0x1c]
shr edi, cl
mov edx, dword [esp + 0x14]
mov edx, dword [esp + edx*8 + 0xb0]
mov ebx, dword [esp]
shrd edx, ebx, cl
test cl, 0x20
cmovne edx, edi
mov ecx, 0
cmovne edi, ecx
or edi, dword [esp + 0x18]
or edx, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
add eax, ecx
mov dword [esp + eax*8 + 0xb8], edx
mov dword [esp + eax*8 + 0xbc], edi
lea ebx, [ecx - 1]
lea edi, [esp + ecx*8]
add edi, 0xb0
cmp dword [esp + 0x14], 1
je 0x434724
mov eax, dword [esp + 0x34]
lea eax, [esp + eax*8]
add eax, 0xb8
mov dword [esp], eax
mov dword [esp + 0x14], edi
mov eax, dword [edi]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x5c]
shl eax, cl
mov dword [esp + 8], eax
test cl, 0x20
mov ecx, eax
mov eax, 0
cmovne ecx, eax
mov dword [esp + 0x50], ecx
mov eax, ebx
mov dword [esp + 0x18], ebx
mov edi, dword [esp + ebx*8 + 0xb4]
mov dword [esp + 0x3c], edi
mov edx, dword [esp + 0x1c]
mov ecx, edx
shr edi, cl
mov dword [esp + 0x38], edi
mov ebx, dword [esp + ebx*8 + 0xb0]
mov edi, dword [esp + 0x3c]
shrd ebx, edi, cl
test dl, 0x20
mov edx, dword [esp + 0x38]
cmovne ebx, edx
mov ecx, 0
cmovne edx, ecx
mov edi, edx
or ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, dword [esp]
mov dword [ecx + eax*8], ebx
mov ebx, dword [esp + eax*8 + 0xb0]
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x5c]
mov ecx, eax
shl ebx, cl
mov dword [esp + 0x50], ebx
test al, 0x20
mov dword [esp + 0x14], ebx
mov ecx, 0
mov ebx, dword [esp + 0x14]
cmovne ebx, ecx
mov dword [esp + 0x14], ebx
mov ecx, eax
mov ebx, dword [esp + 0x20]
shld edx, ebx, cl
test al, 0x20
cmovne edx, dword [esp + 8]
or edx, edi
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + ebx*8 + 0xa8]
mov ecx, dword [esp]
mov dword [ecx + ebx*8 + 4], edx
mov edx, ebx
mov ebx, dword [esp + ebx*8 + 0xb4]
mov ecx, eax
mov eax, dword [esp + 0x3c]
shld ebx, eax, cl
test cl, 0x20
cmovne ebx, dword [esp + 0x50]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + edx*8 + 0xac]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x1c]
mov ecx, edx
shr eax, cl
test dl, 0x20
mov ebx, eax
mov ecx, 0
cmovne ebx, ecx
mov ecx, edx
mov edx, dword [esp + 8]
shrd edi, edx, cl
test byte [esp + 0x1c], 0x20
cmovne edi, eax
or ebx, dword [esp + 0x20]
or edi, dword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [esp + 0x18]
mov dword [ecx + eax*8 - 8], edi
mov dword [ecx + eax*8 - 4], ebx
lea edi, [esp + eax*8]
add edi, 0xa8
lea ebx, [eax - 2]
test ebx, ebx
jne 0x4345e4
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
mov edi, eax
mov ecx, dword [esp + 0x5c]
shl edi, cl
shld edx, eax, cl
xor eax, eax
test cl, 0x20
cmovne edx, edi
cmove eax, edi
mov edi, dword [esp + 0x34]
mov dword [esp + edi*8 + 0xb8], eax
mov dword [esp + edi*8 + 0xbc], edx
mov eax, dword [esp + 0xb0]
add eax, edi
mov ecx, dword [esp + eax*8 + 0xb8]
xor edx, edx
or ecx, dword [esp + eax*8 + 0xbc]
setne dl
add edx, eax
mov dword [esp + 0xb0], edx
test edi, edi
je 0x43479d
lea eax, [esp + 0xb8]
mov ecx, dword [esp + 0x34]
shl ecx, 3
push ecx
push 0
push eax
call fcn.0045779e
add esp, 0xc
mov ebx, dword [esp + 0xb0]
cmp ebx, dword [esp + 0x2b8]
jne 0x434828
mov ecx, ebx
sub ecx, 1
jb 0x434830
mov eax, dword [esp + ebx*8 + 0xb0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + ebx*8 + 0xb4]
mov edi, dword [esp + ebx*8 + 0x2b8]
mov dword [esp + 0x14], edi
mov ebx, dword [esp + ebx*8 + 0x2bc]
mov dword [esp], ebx
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x14], edi
sbb ebx, eax
mov edi, 1
cmovb edx, edi
mov edi, dword [esp + 0x1c]
xor edi, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov edi, eax
xor edi, dword [esp]
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x14]
sbb eax, dword [esp]
mov eax, 0xffffffff
cmovb edx, eax
or edi, dword [esp + 0x18]
mov ebx, ecx
je 0x4347af
xor ecx, ecx
test edx, edx
setg al
je 0x434830
xor edx, edx
mov cl, al
jmp 0x434839
setae al
movzx ecx, al
jmp 0x434837
mov ecx, dword [esp + 0x54]
and ecx, 1
xor edx, edx
add ecx, dword [esp + 0x54]
adc edx, dword [esp + 0x48]
mov eax, edx
mov edi, 0x7ff00000
xor eax, edi
or eax, ecx
je 0x434ee4
xor eax, eax
cmp byte [esp + 0xc], 0x2d
sete al
shl eax, 0x1f
or edx, eax
mov eax, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], 0x14
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x43231d
mov eax, dword [esp + 0x24]
mov ecx, eax
shr ecx, 1
add ecx, eax
mov dword [esp + 0x40], ecx
cmp ecx, 0xffffffe
ja 0x4369fd
mov eax, dword [esp + 0x40]
shl eax, 4
mov dword [esp + 0x14], eax
push eax
push ebx
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x4369fd
mov esi, dword [esp + 4]
mov dl, byte [esi]
mov dh, dl
add dh, 0xb7
cmp dh, 0x25
ja 0x431348
mov ecx, edi
sub ecx, ebx
mov edi, dword [esp + 0x2c]
sub edi, ebx
mov dword [esp + 0x30], ecx
add ecx, eax
add edi, eax
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x14]
add edi, eax
add edi, 0xffffffe0
mov dword [esp + 0x10], edi
add dword [esp + 0x28], 1
movzx edi, dh
jmp dword [edi*4 + 0x10043c30]
mov ecx, eax
mov eax, dword [ebp + 0x10]
test al, 0x10
je 0x4391a7
mov eax, ecx
add al, 0xb7
cmp al, 0x25
ja 0x4391a7
movzx eax, al
jmp dword [eax*4 + 0x100439e8]
cmp al, 0x2e
jne 0x4354ba
movzx eax, byte [esi + 1]
test byte [eax + 0x1003f7a8], 3
je 0x439773
mov edx, eax
mov eax, esi
mov ecx, edx
cmp cl, 0x30
je 0x435496
mov ecx, edx
add ecx, 0xffffffd0
mov dword [esp + 0x1c], ecx
sar ecx, 0x1f
mov dword [esp + 0x14], ecx
mov dword [esp + 8], esi
mov esi, eax
jmp 0x434a97
mov ecx, dword [esp + 0x1c]
sar ecx, 0x1f
mov dword [esp + 0x14], ecx
cmp dl, 0x2e
jne 0x434eb3
movzx ecx, byte [esi + 2]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43543d
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 3]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4353e4
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 4]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4353d8
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 5]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4353cc
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 6]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4353c0
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 7]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4353b4
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 8]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x435367
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 9]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43535b
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0xa]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43534f
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0xb]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4352c8
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0xc]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4352bc
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0xd]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4352b0
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0xe]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4352a4
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0xf]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43519e
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0x10]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x435192
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0x11]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x435186
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0x12]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4350f8
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 0x13]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4350ec
mov edx, 0xa
mov eax, dword [esp + 0x1c]
mul edx
mov ebx, dword [esp + 0x14]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp + 0x1c], eax
adc ebx, edx
mov dword [esp + 0x14], ebx
movzx eax, byte [esi + 0x14]
add esi, 0x14
test byte [eax + 0x1003f7a8], 3
mov ecx, esi
mov dword [esp + 0x34], esi
jne 0x431e46
mov edx, eax
mov eax, dword [esp + 8]
add eax, 1
cmp eax, dword [esp + 0x34]
je 0x434edb
mov ecx, dword [esp + 0x34]
sub ecx, dword [esp + 8]
mov eax, ecx
sar eax, 0x1f
mov dword [esp + 0x20], 0
mov edi, 1
sub edi, ecx
mov esi, 0
sbb esi, eax
mov dword [esp + 0x18], esi
movzx eax, dl
test byte [eax + 0x1003f7a8], 0x20
jne 0x435373
cmp ecx, 0x159
jge 0x435383
mov dword [esp + 0x20], 0
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov eax, edi
jmp 0x432054
cmp dl, 0x2e
je 0x434de9
mov dword [esp], 0
mov dword [esp + 0x18], 0
mov esi, dword [esp + 8]
mov dword [esp + 0x34], esi
mov dword [esp + 0x20], 0
mov ebx, dword [esp + 0xc]
jmp 0x431f6f
mov ecx, dword [esp + 0x34]
jmp 0x4396e1
mov eax, dword [ebp + 0x10]
test al, 0x10
je 0x4397c7
xor eax, eax
cmp byte [esp + 0xc], 0x2d
mov edx, dword [esp + 0x30]
mov dword [edx + 4], 0
mov ecx, 0xfff00000
mov edi, 0x7ff00000
cmove edi, ecx
cmove eax, eax
mov dword [edx], 0x14
mov dword [edx + 0xc], edi
mov dword [edx + 8], eax
jmp 0x43231d
xor edx, edx
mov dword [esp + 0x48], 0
jmp 0x433394
cmp dword [esp + 0x14], 0
je 0x434feb
cmp dword [esp + 0x14], 4
jae 0x434ff2
mov edx, dword [esp + 0x14]
lea ecx, [edx - 1]
and edx, 3
je 0x43510b
mov eax, dword [esp + 0x34]
lea edi, [esp + eax*8]
add edi, 0x2b8
mov ebx, dword [esp + 0x14]
lea eax, [ebx - 1]
movsd xmm0, qword [esp + ebx*8 + 0x2b8]
movsd qword [edi + ebx*8], xmm0
mov dword [esp + 0x14], eax
add edx, 0xffffffff
jne 0x434f64
jmp 0x43510f
cmp dword [esp + 0x14], 0
je 0x435104
cmp dword [esp + 0x14], 4
jae 0x4351aa
mov edx, dword [esp + 0x14]
lea ecx, [edx - 1]
and edx, 3
je 0x4352d4
mov eax, dword [esp + 0x34]
lea edi, [esp + eax*8]
add edi, 0xb0
mov ebx, dword [esp + 0x14]
lea eax, [ebx - 1]
movsd xmm0, qword [esp + ebx*8 + 0xb0]
movsd qword [edi + ebx*8], xmm0
mov dword [esp + 0x14], eax
add edx, 0xffffffff
jne 0x434fba
jmp 0x4352d8
cmp bl, 0x22
je 0x431c80
jmp 0x43918c
xor eax, eax
jmp 0x43516c
mov edi, dword [esp + 0x14]
lea eax, [edi - 1]
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x34]
lea edi, [edi + ecx]
lea edx, [esp + edi*8 + 0x2b8]
seto cl
cmp eax, edx
ja 0x434f47
test cl, cl
jne 0x434f47
mov edx, dword [esp + 0x14]
lea edx, [esp + edx*8]
add edx, 0x2b8
cmp eax, edx
ja 0x434f47
test cl, cl
jne 0x434f47
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0x2c0
mov edx, dword [esp + 0x14]
lea edx, [esp + edx*8]
add edx, 0x2c0
cmp ecx, edx
jae 0x435074
lea ecx, [esp + edi*8]
add ecx, 0x2c0
lea edx, [esp + 0x2c0]
cmp ecx, edx
ja 0x434f47
mov ecx, dword [esp + 0x14]
and ecx, 0xfffffffc
mov dword [esp + 0x1c], ecx
lea edx, [ecx - 4]
mov ecx, edx
shr ecx, 2
add ecx, 1
test edx, edx
je 0x4353f0
shl edi, 3
lea edx, [esp + 0x2b8]
add edi, edx
add edi, 0xfffffff8
lea ebx, [esp + eax]
add ebx, 0x2b8
mov edx, ecx
and edx, 0xfffffffe
neg edx
xor eax, eax
movups xmm0, xmmword [ebx + eax*8 - 0x10]
movups xmm1, xmmword [ebx + eax*8]
movups xmmword [edi + eax*8], xmm1
movups xmmword [edi + eax*8 - 0x10], xmm0
movupd xmm0, xmmword [ebx + eax*8 - 0x30]
movupd xmm1, xmmword [ebx + eax*8 - 0x20]
movupd xmmword [edi + eax*8 - 0x20], xmm1
movupd xmmword [edi + eax*8 - 0x30], xmm0
add eax, 0xfffffff8
add edx, 2
jne 0x4350b3
neg eax
jmp 0x4353f2
add esi, 0x13
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 0x12
mov dword [esp + 0x34], esi
jmp 0x434e35
xor eax, eax
jmp 0x435335
mov eax, dword [esp + 0x14]
cmp ecx, 3
jb 0x435165
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0x2b8
mov edx, eax
movsd xmm0, qword [esp + eax*8 + 0x2b8]
movsd qword [ecx + eax*8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2b0]
movsd qword [ecx + eax*8 - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2a8]
movsd qword [ecx + eax*8 - 0x10], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2a0]
movsd qword [ecx + eax*8 - 0x18], xmm0
add edx, 0xfffffffc
mov eax, edx
jne 0x435123
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x2b8], eax
test ecx, ecx
jne 0x4343dd
jmp 0x43479d
add esi, 0x11
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 0x10
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 0xf
mov dword [esp + 0x34], esi
jmp 0x434e35
mov edi, dword [esp + 0x14]
lea eax, [edi - 1]
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x34]
lea edi, [edi + ecx]
lea edx, [esp + edi*8 + 0xb0]
seto cl
cmp eax, edx
ja 0x434f9d
test cl, cl
jne 0x434f9d
mov edx, dword [esp + 0x14]
lea edx, [esp + edx*8]
add edx, 0xb0
cmp eax, edx
ja 0x434f9d
test cl, cl
jne 0x434f9d
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0xb8
mov edx, dword [esp + 0x14]
lea edx, [esp + edx*8]
add edx, 0xb8
cmp ecx, edx
jae 0x43522c
lea ecx, [esp + edi*8]
add ecx, 0xb8
lea edx, [esp + 0xb8]
cmp ecx, edx
ja 0x434f9d
mov ecx, dword [esp + 0x14]
and ecx, 0xfffffffc
mov dword [esp + 0x1c], ecx
lea edx, [ecx - 4]
mov ecx, edx
shr ecx, 2
add ecx, 1
test edx, edx
je 0x435449
shl edi, 3
lea edx, [esp + 0xb0]
add edi, edx
add edi, 0xfffffff8
lea ebx, [esp + eax]
add ebx, 0xb0
mov edx, ecx
and edx, 0xfffffffe
neg edx
xor eax, eax
movups xmm0, xmmword [ebx + eax*8 - 0x10]
movups xmm1, xmmword [ebx + eax*8]
movups xmmword [edi + eax*8], xmm1
movups xmmword [edi + eax*8 - 0x10], xmm0
movupd xmm0, xmmword [ebx + eax*8 - 0x30]
movupd xmm1, xmmword [ebx + eax*8 - 0x20]
movupd xmmword [edi + eax*8 - 0x20], xmm1
movupd xmmword [edi + eax*8 - 0x30], xmm0
add eax, 0xfffffff8
add edx, 2
jne 0x43526b
neg eax
jmp 0x43544b
add esi, 0xe
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 0xd
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 0xc
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 0xb
mov dword [esp + 0x34], esi
jmp 0x434e35
mov eax, dword [esp + 0x14]
cmp ecx, 3
jb 0x43532e
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0xb0
mov edx, eax
movsd xmm0, qword [esp + eax*8 + 0xb0]
movsd qword [ecx + eax*8], xmm0
movsd xmm0, qword [esp + eax*8 + 0xa8]
movsd qword [ecx + eax*8 - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0xa0]
movsd qword [ecx + eax*8 - 0x10], xmm0
movsd xmm0, qword [esp + eax*8 + 0x98]
movsd qword [ecx + eax*8 - 0x18], xmm0
add edx, 0xfffffffc
mov eax, edx
jne 0x4352ec
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0xb0], eax
test ecx, ecx
jne 0x434783
jmp 0x43479d
add esi, 0xa
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 9
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 8
mov dword [esp + 0x34], esi
jmp 0x434e35
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
mov dword [esp], edi
jmp 0x431f6f
xor eax, eax
cmp byte [esp + 0xc], 0x2d
sete al
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
shl eax, 0x1f
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], 0
mov esi, dword [esp + 0x34]
jmp 0x43231d
add esi, 7
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 6
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 5
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 4
mov dword [esp + 0x34], esi
jmp 0x434e35
add esi, 3
mov dword [esp + 0x34], esi
jmp 0x434e35
xor eax, eax
test cl, 1
je 0x435425
not eax
add eax, dword [esp + 0x14]
movupd xmm0, xmmword [esp + eax*8 + 0x2a8]
movupd xmm1, xmmword [esp + eax*8 + 0x2b8]
add eax, dword [esp + 0x34]
movupd xmmword [esp + eax*8 + 0x2b8], xmm1
movupd xmmword [esp + eax*8 + 0x2a8], xmm0
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
je 0x435165
and dword [esp + 0x14], 3
jmp 0x434f47
add esi, 2
mov dword [esp + 0x34], esi
jmp 0x434e35
xor eax, eax
test cl, 1
je 0x43547e
not eax
add eax, dword [esp + 0x14]
movupd xmm0, xmmword [esp + eax*8 + 0xa0]
movupd xmm1, xmmword [esp + eax*8 + 0xb0]
add eax, dword [esp + 0x34]
movupd xmmword [esp + eax*8 + 0xb0], xmm1
movupd xmmword [esp + eax*8 + 0xa0], xmm0
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
je 0x43532e
and dword [esp + 0x14], 3
jmp 0x434f9d
mov eax, esi
movzx ecx, byte [eax + 2]
add eax, 1
cmp ecx, 0x30
je 0x435498
mov edx, ecx
mov cl, byte [edx + 0x1003f7a8]
test cl, 3
jne 0x434a6b
add eax, 1
mov esi, eax
test cl, 3
jne 0x439df2
test cl, 0x20
je 0x432c72
movzx eax, byte [esi + 1]
mov al, byte [eax + 0x1003f7a8]
and al, 0xc
cmp al, 1
sbb esi, 0
movzx eax, byte [esi + 2]
add esi, 2
test byte [eax + 0x1003f7a8], 3
je 0x439ecc
movzx eax, byte [esi + 1]
add esi, 1
test byte [eax + 0x1003f7a8], 3
jne 0x4354f1
jmp 0x432c72
lea edi, [esp + 4]
mov dword [esp + 0x30], eax
mov esi, dword [esp + 4]
movzx eax, byte [esi]
cmp eax, 0x22
mov dword [esp + 0x40], edx
mov dword [esp + 0x10], ecx
je 0x4355dc
cmp al, 0x7d
je 0x43697d
test byte [eax + 0x1003f5f0], 1
jne 0x4355b8
mov eax, dword [ebp + 0x10]
test al, 8
je 0x4432b1
mov ecx, esi
mov edx, edi
call fcn.0044333e
test al, al
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
jne 0x435566
jmp 0x4370b8
add esi, 1
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], esi
movzx eax, byte [esi]
add esi, 1
test byte [eax + 0x1003f5f0], 1
mov eax, dword [esp + 0x30]
jne 0x4355c3
jmp 0x435566
mov edi, dword [esp + 0x30]
add edi, 0x10
cmp edi, ecx
jae 0x43699f
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x1c]
add eax, 1
mov dword [esp + 0x28], eax
mov cl, byte [esi + 1]
add esi, 1
mov edx, esi
movzx eax, cl
test byte [eax + 0x1003f5f0], 0xc
jne 0x43588d
add edx, 8
mov eax, edx
nop dword [eax]
movzx ecx, byte [eax - 7]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x435741
movzx ecx, byte [eax - 6]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x435752
movzx ecx, byte [eax - 5]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x435763
movzx ecx, byte [eax - 4]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x435774
movzx ecx, byte [eax - 3]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x435785
movzx ecx, byte [eax - 2]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x435796
movzx ecx, byte [eax - 1]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x4357a4
movzx ecx, byte [eax]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43580e
movzx ecx, byte [eax + 1]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x4357b2
movzx ecx, byte [eax + 2]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x4357c0
movzx ecx, byte [eax + 3]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x4357ce
movzx ecx, byte [eax + 4]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x4357dc
movzx ecx, byte [eax + 5]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x4357ea
movzx ecx, byte [eax + 6]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x4357f8
movzx ecx, byte [eax + 7]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x435806
movzx ecx, byte [eax + 8]
add eax, 0x10
test byte [ecx + 0x1003f5f0], 0xc
je 0x43561e
add eax, 0xfffffff8
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 0xfffffff9
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 0xfffffffa
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 0xfffffffb
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 0xfffffffc
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 0xfffffffd
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 0xfffffffe
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 0xffffffff
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 1
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 2
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 3
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 4
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 5
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 6
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
add eax, 7
nop dword [eax + eax]
cmp cl, 0x22
je 0x4359d6
test cl, cl
jns 0x436aa1
test dword [ebp + 0x10], 0x40000000
jne 0x43589d
mov ecx, dword [eax]
mov edi, ecx
and edi, 0xc0c0f0
mov dword [esp + 0x30], ecx
mov edx, eax
mov ebx, ecx
mov byte [esp], cl
cmp edi, 0x8080e0
jne 0x435912
mov edi, dword [esp + 0x30]
and edi, 0x200f
je 0x43590b
cmp edi, 0x200d
je 0x43590b
mov ecx, dword [edx + 3]
add edx, 3
mov edi, ecx
and edi, 0xc0c0f0
mov dword [esp + 0x30], ecx
cmp edi, 0x8080e0
je 0x435849
mov ecx, dword [esp + 0x30]
mov ebx, ecx
mov byte [esp], cl
jmp 0x435912
mov eax, edx
cmp cl, 0x22
je 0x4359d6
jmp 0x435817
mov ecx, dword [eax]
mov edx, ecx
and edx, 0x800080
cmp edx, 0x800080
jne 0x4358e3
add eax, 2
test ecx, 0xff00
je 0x4370c6
cmp ecx, 0xffffff
jbe 0x4370c9
mov ecx, dword [eax + 2]
mov edx, ecx
and edx, 0x800080
add eax, 4
cmp edx, 0x800080
je 0x4358b2
add eax, 0xfffffffe
mov edx, eax
test cl, cl
jns 0x435602
movzx eax, cx
cmp eax, 0xff
jbe 0x437fad
movzx ecx, word [edx + 2]
add edx, 2
test cl, cl
js 0x4358ed
jmp 0x435602
mov ebx, dword [esp + 0x30]
mov byte [esp], bl
cmp byte [esp], 0
jns 0x435602
mov edi, dword [esp + 0x30]
and edi, 0xc0e0
cmp edi, 0x80c0
jne 0x43595a
mov ebx, dword [esp + 0x30]
mov edi, ebx
and edi, 0x1e
je 0x43595e
mov ebx, dword [edx + 2]
add edx, 2
mov ecx, ebx
and ecx, 0xc0e0
cmp ecx, 0x80c0
jne 0x435956
mov ecx, ebx
and ecx, 0x1e
jne 0x435939
mov ecx, ebx
jmp 0x43595e
mov ebx, dword [esp + 0x30]
mov edi, ebx
and ebx, 0xc0c0c0f8
cmp ebx, 0x808080f0
jne 0x4359c0
mov ebx, edi
and ebx, 0x3007
je 0x4359c0
mov ebx, edi
test bl, 4
je 0x435987
and edi, 0x3003
jne 0x4359c0
add edx, 4
mov edi, edx
mov ecx, dword [edi]
mov edx, ecx
and edx, 0xc0c0c0f8
cmp edx, 0x808080f0
jne 0x4359be
mov edx, ecx
and edx, 0x3007
je 0x4359be
mov edx, edi
add edi, 4
test cl, 4
je 0x43598c
mov ebx, ecx
and ebx, 0x3003
je 0x43598c
jmp 0x4359c0
mov edx, edi
cmp eax, edx
jne 0x435602
mov dword [esp + 4], eax
mov ecx, 0x1004ad70
jmp 0x4370d2
mov edi, eax
mov ecx, edi
sub ecx, esi
mov edx, ecx
sar edx, 0x1f
shld edx, ecx, 8
mov ebx, dword [esp + 0x14]
mov dword [ebx + 4], edx
shl ecx, 8
or ecx, 5
mov dword [ebx], ecx
mov dword [ebx + 8], esi
mov byte [edi], 0
lea ecx, [eax + 1]
mov dword [esp + 4], ecx
mov al, byte [eax + 1]
cmp al, 0x3a
jne 0x435df6
mov edx, dword [esp + 0x40]
lea edi, [ecx + 1]
mov dword [esp + 4], edi
mov bl, byte [ecx + 1]
cmp bl, 0x22
jne 0x435e9a
mov eax, dword [esp + 0x14]
add eax, 0x10
mov dword [esp + 0x30], eax
add dword [esp + 0x1c], 2
mov al, byte [edi + 1]
add edi, 1
mov ebx, edi
movzx ecx, al
test byte [ecx + 0x1003f5f0], 0xc
jne 0x435cac
add ebx, 8
mov esi, ebx
nop word cs:[eax + eax]
nop dword [eax]
movzx eax, byte [esi - 7]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435b80
movzx eax, byte [esi - 6]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435b90
movzx eax, byte [esi - 5]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435ba0
movzx eax, byte [esi - 4]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435bb0
movzx eax, byte [esi - 3]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435bc0
movzx eax, byte [esi - 2]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435bcd
movzx eax, byte [esi - 1]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435bda
movzx eax, byte [esi]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435c38
movzx eax, byte [esi + 1]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435be7
movzx eax, byte [esi + 2]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435bf4
movzx eax, byte [esi + 3]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435c01
movzx eax, byte [esi + 4]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435c0e
movzx eax, byte [esi + 5]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435c1b
movzx eax, byte [esi + 6]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435c28
movzx eax, byte [esi + 7]
test byte [eax + 0x1003f5f0], 0xc
jne 0x435c35
movzx eax, byte [esi + 8]
add esi, 0x10
test byte [eax + 0x1003f5f0], 0xc
je 0x435a5e
add esi, 0xfffffff8
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 0xfffffff9
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 0xfffffffa
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 0xfffffffb
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 0xfffffffc
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 0xfffffffd
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 0xfffffffe
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 0xffffffff
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 1
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 2
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 3
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 4
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 5
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 6
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
add esi, 7
cmp al, 0x22
je 0x435e5d
mov dword [esp + 0x44], edi
test al, al
jns 0x4374b6
test dword [ebp + 0x10], 0x40000000
jne 0x435cb8
mov eax, dword [esi]
mov edi, eax
and edi, 0xc0c0f0
mov ecx, eax
mov ebx, esi
mov edx, eax
cmp edi, 0x8080e0
jne 0x435d36
mov edx, ecx
and edx, 0x200f
je 0x435d34
cmp edx, 0x200d
je 0x435d34
mov ecx, dword [ebx + 3]
add ebx, 3
mov edx, ecx
and edx, 0xc0c0f0
mov eax, ecx
cmp edx, 0x8080e0
je 0x435c71
mov edx, ecx
mov eax, ecx
jmp 0x435d36
mov esi, ebx
cmp al, 0x22
je 0x435e5d
jmp 0x435c40
mov eax, dword [esi]
mov ecx, eax
and ecx, 0x800080
cmp ecx, 0x800080
jne 0x435cfc
add esi, 2
test eax, 0xff00
je 0x437be9
cmp eax, 0xffffff
jbe 0x437bf8
mov eax, dword [esi + 2]
mov ecx, eax
and ecx, 0x800080
add esi, 4
cmp ecx, 0x800080
je 0x435ccd
add esi, 0xfffffffe
mov ebx, esi
test al, al
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jns 0x435a3b
movzx eax, ax
cmp eax, 0xff
jbe 0x438308
movzx eax, word [ebx + 2]
add ebx, 2
test al, al
js 0x435d0e
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jmp 0x435a3b
mov edx, ecx
test dl, dl
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jns 0x435a3b
mov edx, ecx
and edx, 0xc0e0
cmp edx, 0x80c0
jne 0x435d7a
mov edx, ecx
and edx, 0x1e
je 0x435d7a
mov ecx, dword [ebx + 2]
add ebx, 2
mov eax, ecx
and eax, 0xc0e0
cmp eax, 0x80c0
jne 0x435d78
mov eax, ecx
and eax, 0x1e
jne 0x435d5d
mov eax, ecx
mov edx, ecx
and edx, 0xc0c0c0f8
cmp edx, 0x808080f0
jne 0x435dd5
mov edx, ecx
and edx, 0x3007
je 0x435dd5
test cl, 4
je 0x435da1
and ecx, 0x3003
jne 0x435dd5
mov ecx, ebx
add ecx, 4
mov ebx, ecx
mov eax, dword [ecx]
mov ecx, eax
and ecx, 0xc0c0c0f8
cmp ecx, 0x808080f0
jne 0x435dd5
mov ecx, eax
and ecx, 0x3007
je 0x435dd5
lea ecx, [ebx + 4]
test al, 4
je 0x435da6
mov edx, eax
and edx, 0x3003
je 0x435da6
cmp esi, ebx
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jne 0x435a3b
mov dword [esp + 4], esi
mov ecx, 0x1004ad70
mov dword [esp], esi
jmp 0x438314
lea esi, [esp + 4]
mov edx, dword [esp + 0x40]
movzx eax, al
test byte [eax + 0x1003f5f0], 1
jne 0x435e30
mov eax, dword [ebp + 0x10]
test al, 8
je 0x431346
mov edx, esi
call fcn.0044333e
test al, al
je 0x44324c
mov ecx, dword [esp + 4]
mov al, byte [ecx]
mov edx, dword [esp + 0x40]
jmp 0x435e54
add ecx, 1
nop word cs:[eax + eax]
nop
mov dword [esp + 4], ecx
movzx eax, byte [ecx]
add ecx, 1
test byte [eax + 0x1003f5f0], 1
jne 0x435e3e
add ecx, 0xffffffff
cmp al, 0x3a
jne 0x435dfe
jmp 0x435a10
mov dword [esp + 0x40], edx
mov edx, esi
mov eax, edx
sub eax, edi
mov ecx, eax
sar ecx, 0x1f
shld ecx, eax, 8
mov ebx, dword [esp + 0x14]
mov dword [ebx + 0x14], ecx
shl eax, 8
or eax, 5
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x18], edi
mov byte [edx], 0
add esi, 1
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
jmp 0x443138
lea esi, [esp + 4]
movzx eax, bl
mov al, byte [eax + 0x1003f5f0]
test al, 2
jne 0x435f1e
mov ecx, ebx
add cl, 0xa5
cmp cl, 0x20
ja 0x435ebf
movzx ecx, cl
jmp dword [ecx*4 + 0x10043814]
test al, 1
jne 0x435efb
mov eax, dword [ebp + 0x10]
test al, 0x10
je 0x435ed3
cmp bl, 0x4e
je 0x436a4d
mov eax, dword [ebp + 0x10]
test al, 8
je 0x431346
mov ecx, edi
mov edx, esi
call fcn.0044333e
test al, al
je 0x44324c
mov edi, dword [esp + 4]
mov bl, byte [edi]
mov edx, dword [esp + 0x40]
jmp 0x435f14
add edi, 1
mov dword [esp + 4], edi
movzx ebx, byte [edi]
add edi, 1
test byte [ebx + 0x1003f5f0], 1
jne 0x435efe
add edi, 0xffffffff
cmp bl, 0x22
jne 0x435e9e
jmp 0x435a23
mov eax, dword [esp + 0x14]
add eax, 0x10
mov dword [esp + 0x30], eax
add dword [esp + 0x1c], 2
mov dword [esp + 0x80], 0
xor eax, eax
cmp bl, 0x2d
sete al
lea esi, [edi + eax]
mov dword [esp + 0x44], edi
movzx eax, byte [edi + eax]
test byte [eax + 0x1003f7a8], 2
je 0x4370da
add eax, 0xffffffd0
movzx edx, byte [esi + 1]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x437128
mov ecx, 0xa
imul ecx
mov ecx, edx
add eax, edi
adc ecx, 0
movzx edx, byte [esi + 2]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x437180
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 3]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4371a9
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 4]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4371d2
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 5]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4371fb
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 6]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x437224
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 7]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x43724d
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 8]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x437276
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 9]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x43729f
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xa]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4372c8
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xb]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4372f1
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xc]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x43731a
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xd]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x437343
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xe]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x43736c
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0xf]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x437395
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0x10]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4373ba
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0x11]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4373df
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [esi + 0x12]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x437404
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
mov dword [esp], eax
adc ecx, edx
mov dword [esp + 0x28], ecx
mov al, byte [esi + 0x13]
add esi, 0x13
movzx ecx, al
mov dl, byte [ecx + 0x1003f7a8]
test dl, 0x33
je 0x4362c4
mov dword [esp + 0x18], eax
test dl, 3
je 0x4361d3
movzx eax, byte [esi + 1]
test byte [eax + 0x1003f7a8], 0x33
je 0x43638d
test dl, 0x20
jne 0x43632d
mov dword [esp + 8], 0
cmp byte [esp + 0x18], 0x2e
jne 0x43644a
lea ecx, [esi + 1]
movzx eax, byte [esi + 1]
test byte [eax + 0x1003f7a8], 3
je 0x4396e4
mov dword [esp + 0x18], eax
mov dword [esp + 8], esi
jmp 0x43644c
cmp bl, 0x2d
mov edi, dword [esp + 0x28]
mov edx, dword [esp]
jne 0x436356
mov eax, 0x80000000
mov ecx, edx
neg ecx
sbb eax, edi
jae 0x436356
mov eax, dword [esp + 0x14]
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0x14
movd xmm0, edx
movd xmm1, edi
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x10042f40]
subpd xmm0, xmmword [0x10042f50]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
xorpd xmm1, xmmword [0x1003eaf0]
movlpd qword [eax + 0x18], xmm1
jmp 0x436926
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
mov dword [esp + 8], esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0xc], 0
jmp 0x43656a
xor eax, eax
mov ecx, edx
neg ecx
sbb eax, edi
xor edx, edx
cmp bl, 0x2d
sete dl
lea edx, [edx*8 + 4]
mov ebx, dword [esp + 0x14]
mov dword [ebx + 0x10], edx
cmovne eax, edi
cmovne ecx, dword [esp]
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], eax
jmp 0x436926
add ecx, 0xffffffd0
cmp dword [esp], 0x99999999
mov eax, dword [esp + 0x28]
sbb eax, 0x19999999
jb 0x4363c4
mov eax, 0x19999999
mov edi, 0x99999999
xor edi, dword [esp]
xor eax, dword [esp + 0x28]
or eax, edi
jne 0x4361d3
cmp ecx, 5
ja 0x4361d3
mov edx, 0xa
mov eax, dword [esp]
mul edx
add esi, 1
mov edi, dword [esp + 0x28]
lea edi, [edi + edi*4]
lea edx, [edx + edi*2]
mov edi, ecx
sar edi, 0x1f
add eax, ecx
adc edx, edi
cmp bl, 0x2d
jne 0x4364bd
mov ecx, 0x80000000
mov edi, eax
neg edi
sbb ecx, edx
jae 0x4364bd
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
movd xmm0, eax
movd xmm1, edx
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x10042f40]
subpd xmm0, xmmword [0x10042f50]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
xorpd xmm1, xmmword [0x1003eaf0]
movlpd qword [ecx + 0x18], xmm1
jmp 0x436926
mov ecx, esi
mov dword [esp + 0xc], ecx
add ecx, 1
mov esi, dword [esp + 0x28]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x1003f7a8]
add ecx, 1
test dl, 3
jne 0x436457
mov byte [esp + 0x20], dl
cmp byte [esp + 0x18], 0x34
mov edx, 0
seta dl
add dword [esp], edx
adc esi, 0
mov dword [esp + 0x28], esi
lea esi, [ecx - 1]
cmp dword [esp + 8], 0
jne 0x4364ff
cmp al, 0x2e
jne 0x4364fb
movzx eax, byte [ecx]
test byte [eax + 0x1003f7a8], 3
je 0x4396e4
movzx eax, byte [ecx + 1]
add ecx, 1
movzx edx, byte [eax + 0x1003f7a8]
test dl, 3
jne 0x4364a2
mov dword [esp + 8], esi
mov esi, ecx
jmp 0x436503
xor ecx, ecx
mov edi, eax
neg edi
sbb ecx, edx
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp bl, 0x2d
sete cl
lea ebx, [ecx*8 + 4]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x10], ebx
mov ebx, dword [esp + 0x28]
cmovne ebx, edx
cmovne edi, eax
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x1c], ebx
jmp 0x436926
mov dword [esp + 8], esi
mov dl, byte [esp + 0x20]
lea eax, [esi - 1]
jmp 0x43650b
add eax, 0xffffffff
movzx ecx, byte [eax]
cmp cl, 0x30
je 0x436508
cmp cl, 0x2e
je 0x436508
xor ecx, ecx
mov edi, dword [esp + 8]
sub edi, dword [esp + 0xc]
setb cl
mov dword [esp + 0x20], edi
sar dword [esp + 0x20], 0x1f
add ecx, edi
mov dword [esp + 0x18], ecx
adc dword [esp + 0x20], 0
mov ecx, dword [esp + 0xc]
cmp eax, ecx
mov eax, esi
mov edi, 0
cmovb eax, edi
mov edi, 0
mov dword [esp + 0x4c], eax
cmovb ecx, edi
mov dword [esp + 0xc], ecx
test dl, 0x20
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
je 0x436624
mov dword [esp + 0x50], ebx
movzx ecx, byte [esi + 1]
add esi, 1
mov al, byte [ecx + 0x1003f7a8]
and al, 0xc
cmp al, 1
mov edx, esi
sbb edx, 0xffffffff
movzx ebx, byte [edx]
test byte [ebx + 0x1003f7a8], 3
je 0x437ba2
cmp bl, 0x30
mov dword [esp + 0x48], ecx
jne 0x4365b6
movzx ebx, byte [edx + 1]
add edx, 1
cmp ebx, 0x30
je 0x43659d
test byte [ebx + 0x1003f7a8], 3
je 0x436972
xor eax, eax
mov dword [esp + 0x54], edx
mov esi, edx
xor edi, edi
mov ecx, ebx
sar ecx, 0x1f
mov edx, 0xa
mul edx
add eax, ebx
lea edi, [edi + edi*4]
lea edi, [edx + edi*2]
adc edi, ecx
movzx ebx, byte [esi + 1]
add esi, 1
add eax, 0xffffffd0
adc edi, 0xffffffff
test byte [ebx + 0x1003f7a8], 3
jne 0x4365c0
mov edx, dword [esp + 0x54]
mov ecx, esi
sub ecx, edx
cmp ecx, 0x13
mov ebx, dword [esp + 0x50]
jge 0x437bb7
xor ecx, ecx
mov edx, eax
neg edx
sbb ecx, edi
cmp byte [esp + 0x48], 0x2d
cmovne ecx, edi
cmovne edx, eax
add dword [esp + 0x18], edx
adc dword [esp + 0x20], ecx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov eax, 0xfffffea8
cmp eax, dword [esp + 0x18]
mov eax, 0xffffffff
sbb eax, dword [esp + 0x20]
jge 0x437b2a
mov eax, dword [esp + 0x18]
cmp eax, 0x135
sbb dword [esp + 0x20], 0
jge 0x437b56
mov dword [esp + 0x80], eax
mov edi, eax
add eax, 0x16
cmp eax, 0x2c
ja 0x4366ab
mov eax, 0x200000
cmp dword [esp + 0x28], eax
jae 0x4366ab
movss xmm1, dword [esp]
movss xmm0, dword [esp + 0x28]
unpcklps xmm1, xmm0
unpcklps xmm1, xmmword [0x10042f40]
subpd xmm1, xmmword [0x10042f50]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
test edi, edi
js 0x436937
mulsd xmm0, qword [edi*8 + 0x1003f6f0]
jmp 0x436945
mov eax, edi
lea eax, [edi + 0x132]
cmp eax, 0x251
ja 0x437c09
cmp dword [esp + 0xc], 0
jne 0x437c09
imul eax, edi, 0x3526a
shl edi, 4
mov dword [esp + 0x18], edi
add eax, 0xffc10000
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x28]
bsr eax, edi
xor eax, 0x1f
mov edx, dword [esp]
bsr ecx, edx
xor ecx, 0x1f
add ecx, 0x20
test edi, edi
cmovne ecx, eax
mov eax, edi
shld eax, edx, cl
mov edi, edx
shl edi, cl
mov dword [esp + 0x3c], ecx
test cl, 0x20
cmovne eax, edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], 0
mov eax, 0
cmovne edi, eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x10040e18]
mov dword [esp + 0x34], eax
mul edi
mov dword [esp + 0x90], eax
mov dword [esp + 0x58], edx
mov eax, dword [ecx + 0x10040e1c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x5c], edi
mul edi
mov dword [esp + 0x68], edx
mov ecx, eax
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x48]
mul edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mul edi
add ecx, dword [esp + 0x58]
adc eax, dword [esp + 0x68]
adc edx, 0
add ecx, dword [esp + 0x70]
mov dword [esp + 0x68], ecx
adc eax, dword [esp + 0x20]
adc edx, 0
mov dword [esp + 0x58], eax
and eax, 0x1ff
add eax, 0xffffffff
mov ecx, 0
adc ecx, 0xffffffff
cmp eax, 0x1fe
sbb ecx, 0
mov dword [esp + 0x20], edx
jb 0x436877
mov dword [esp + 0x50], ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x10040e20]
mov dword [esp + 0x94], eax
mov edi, dword [esp + 0x5c]
mul edi
mov dword [esp + 0x70], edx
mov ebx, dword [ecx + 0x10040e24]
mov eax, ebx
mul edi
mov ecx, edx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
mov edi, dword [esp + 0x48]
mul edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x94], eax
mov dword [esp + 0xa4], ebx
mov eax, ebx
mul edi
mov edi, dword [esp + 0x98]
add edi, dword [esp + 0x70]
adc ecx, 0
add edi, dword [esp + 0x94]
mov edi, dword [esp + 0x18]
adc edi, 0
add ecx, eax
adc edx, 0
add ecx, edi
adc edx, 0
mov edi, ecx
add edi, dword [esp + 0x90]
mov dword [esp + 0x18], edx
adc edx, dword [esp + 0x68]
mov ebx, edi
add ebx, 1
mov eax, edx
adc eax, 0
cmp ebx, 2
sbb eax, 0
jb 0x437c7f
cmp edi, dword [esp + 0x90]
mov eax, edx
sbb eax, dword [esp + 0x68]
setb al
cmp edi, ecx
sbb edx, dword [esp + 0x18]
setb cl
or cl, al
movzx eax, cl
add dword [esp + 0x58], eax
adc dword [esp + 0x20], 0
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
shr edi, 0x10
mov edx, dword [esp + 0x20]
mov ecx, edx
not ecx
shr ecx, 0x1f
mov eax, dword [esp + 0x58]
shld edx, eax, cl
mov dword [esp + 0x20], edx
shl eax, cl
mov edx, eax
and edx, 0x400
add edx, eax
mov eax, dword [esp + 0x20]
adc eax, 0
sub edi, dword [esp + 0x3c]
sub edi, ecx
mov dword [esp + 0x28], edx
cmp edx, 0x400
mov ecx, eax
sbb ecx, 0
setb cl
mov byte [esp], cl
adc edi, 0
mov edx, eax
shr edx, 0xb
and edx, 0xfffff
test cl, cl
mov ecx, 0
cmovne edx, ecx
mov ecx, dword [esp + 0x28]
shld eax, ecx, 0x15
cmp byte [esp], 0
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x2d
sete al
shl eax, 0x1f
or eax, edx
shl edi, 0x14
add edi, 0x47e00000
or eax, edi
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], eax
mov dword [esp + 4], esi
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
jmp 0x443138
shl edi, 3
mov eax, 0x1003f6f0
sub eax, edi
divsd xmm0, qword [eax]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0x14
cmp bl, 0x2d
jne 0x436964
xorpd xmm0, xmmword [0x1003eaf0]
movsd qword [eax + 0x18], xmm0
mov dword [esp + 4], esi
jmp 0x443138
xor eax, eax
xor edi, edi
mov esi, edx
jmp 0x4365f0
add esi, 1
mov dword [esp + 4], esi
mov eax, dword [ebp + 0x10]
test al, 4
jne 0x4431b5
cmp dword [esp + 0x1c], 0
je 0x4431b5
jmp 0x43a463
mov esi, dword [esp + 0x24]
mov eax, esi
shr eax, 1
add esi, eax
cmp esi, 0xffffffe
ja 0x4369fb
mov dword [esp + 0x24], esi
shl esi, 4
push esi
push edx
push dword [esp + 0x6c]
mov ebx, edx
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x4369fd
mov edx, edi
sub edx, ebx
add edx, eax
mov edi, dword [esp + 0x2c]
sub edi, ebx
add edi, eax
mov dword [esp + 0x2c], edi
lea ecx, [esi + eax]
add ecx, 0xffffffe0
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x14], edx
jmp 0x4355ef
mov ebx, edx
mov ecx, dword [esp + 4]
xor eax, eax
mov esi, dword [esp + 0x78]
cmp ecx, esi
setae al
cmovb esi, ecx
mov ecx, 0x1004afcd
mov edx, 0x1004b011
cmovb edx, ecx
sub esi, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea edi, [esp + 0x84]
cmove ecx, edi
mov dword [ecx + 8], esi
lea eax, [eax + eax*2]
add eax, 2
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor esi, esi
test ebx, ebx
je 0x431399
push ebx
jmp 0x43138e
mov ebx, dword [esp + 0x2c]
mov al, byte [edi + 1]
or al, 0x20
cmp al, 0x61
jne 0x4432b1
mov esi, edi
mov al, byte [edi + 2]
or al, 0x20
cmp al, 0x6e
jne 0x4432b1
mov eax, dword [esp + 0x14]
add eax, 0x10
add dword [esp + 0x1c], 2
add esi, 3
mov dword [esp + 4], esi
movapd xmm0, xmmword [0x10042f60]
movupd xmmword [eax], xmm0
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x10]
jmp 0x443138
mov edi, eax
cmp cl, 0x5c
jne 0x439183
mov cl, byte [eax + 1]
add cl, 0xde
cmp cl, 0x53
ja 0x438697
movzx ecx, cl
jmp dword [ecx*4 + 0x1004362c]
mov ecx, dword [esp + 4]
mov eax, edx
movzx edx, word [ecx]
jmp 0x443257
add eax, 0xfffffffe
mov dword [esp + 4], eax
mov ecx, 0x1004ad28
mov dword [esp], eax
jmp 0x438314
cmp al, 0x30
jne 0x43919a
movzx eax, byte [esi + 1]
add esi, 1
mov cl, byte [eax + 0x1003f7a8]
test cl, 0x33
jne 0x4391bc
xor eax, eax
cmp bl, 0x2d
sete al
lea eax, [eax*8 + 4]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x18], 0
jmp 0x436926
mov dword [esp], eax
lea eax, [esi + 1]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
jne 0x4391fb
mov edx, dword [esp]
mov esi, edx
sar esi, 0x1f
xor ecx, ecx
neg edx
sbb ecx, esi
xor eax, eax
cmp bl, 0x2d
sete al
lea eax, [eax*8 + 4]
mov edi, dword [esp + 0x14]
mov dword [edi + 0x10], eax
cmovne ecx, esi
cmovne edx, dword [esp]
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], edx
mov dword [edi + 0x1c], ecx
mov esi, dword [esp + 8]
jmp 0x436926
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 2]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x439240
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 3]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x439272
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 4]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x4392a4
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 5]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x4392d6
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 6]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x439308
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 7]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x43933a
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 8]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x43936c
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 9]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x43939e
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 0xa]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x4393d0
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 0xb]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x439402
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 0xc]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x439434
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 0xd]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x439466
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 0xe]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x439498
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 0xf]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x4394ca
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 0x10]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x4394fc
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 0x11]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43741f
cmp dl, 0x2e
je 0x43952e
jmp 0x439625
mov dword [esp], eax
mov dword [esp + 0x28], ecx
lea eax, [esi + 0x12]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
jne 0x43961c
xor eax, eax
mov ecx, dword [esp]
neg ecx
mov edi, dword [esp + 0x28]
sbb eax, edi
xor edx, edx
cmp bl, 0x2d
sete dl
lea edx, [edx*8 + 4]
mov esi, dword [esp + 0x14]
mov dword [esi + 0x10], edx
cmovne eax, edi
cmovne ecx, dword [esp]
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], eax
mov esi, dword [esp + 8]
jmp 0x436926
mov dword [esp + 0x28], esi
cmp al, 0x5c
jne 0x43968a
mov al, byte [esi + 1]
add al, 0xde
cmp al, 0x53
ja 0x43916f
movzx eax, al
jmp dword [eax*4 + 0x10043898]
mov eax, dword [esp]
mov dword [esp + 4], eax
jmp 0x43830f
xor eax, eax
cmp bl, 0x2d
sete al
mov edi, dword [esp + 0x14]
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0x14
shl eax, 0x1f
mov dword [edi + 0x1c], eax
mov dword [edi + 0x18], 0
jmp 0x436969
mov edx, ebx
mov ebx, dword [esp + 0x2c]
mov eax, 0x1004ae7c
mov ecx, dword [ebp + 0x10]
test cl, 0x10
je 0x4396f1
cmp dl, 0x2d
mov edx, dword [esp + 0x14]
mov dword [edx + 0x14], 0
mov eax, 0xfff00000
mov ecx, 0x7ff00000
cmove ecx, eax
mov dword [edx + 0x10], 0x14
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x18], 0
mov dword [esp + 4], esi
jmp 0x436a90
add edx, 0xffffffff
mov dword [esp + 4], edx
mov eax, 0x1004ac20
mov dword [esp + 0x44], edx
jmp 0x4396f1
cmp byte [esp + 0x48], 0x2d
jne 0x437fb9
xor eax, eax
cmp byte [esp + 0x50], 0x2d
sete al
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
shl eax, 0x1f
mov dword [ecx + 0x1c], eax
jmp 0x43711c
add esi, 0xfffffffe
mov dword [esp], esi
mov dword [esp + 4], esi
jmp 0x43830f
mov dword [esp + 4], esi
mov ecx, 0x1004ad28
mov dword [esp], esi
jmp 0x438314
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x28]
bsr eax, ebx
xor eax, 0x1f
mov edx, dword [esp]
bsr ecx, edx
xor ecx, 0x1f
add ecx, 0x20
test ebx, ebx
cmovne ecx, eax
xor eax, eax
shld ebx, edx, cl
shl edx, cl
mov dword [esp + 0x3c], ecx
test cl, 0x20
cmovne ebx, edx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x60], 0
cmovne edx, eax
mov dword [esp + 0x5c], edx
imul eax, edi, 0x3526a
shl edi, 4
add eax, 0xffc10000
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x10040e1c]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x10040e18]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x10040e24]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x58], 0
xor eax, eax
cmp dword [esp + 0xc], 0
setne al
shl eax, 2
xor edi, edi
mov ecx, dword [esp + 0x3c]
shld edi, eax, cl
shl eax, cl
xor edx, edx
test cl, 0x20
cmovne edi, eax
mov dword [esp + 0x20], edi
cmovne eax, edx
mov dword [esp + 0x18], eax
sar dword [esp + 0x54], 0x10
mov edi, dword [esp + 0xa4]
shr edi, 0x1f
add edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
adc ecx, 0
mov ebx, edi
imul ebx, dword [esp + 0x60]
mov eax, edi
mul dword [esp + 0x5c]
add edx, ebx
mov dword [esp + 0x34], edx
mov eax, ecx
mul dword [esp + 0x5c]
mov ebx, eax
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x60]
imul eax, ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], edi
mov eax, edi
mul dword [esp + 0x48]
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], edx
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x38]
imul eax, edi
mov dword [esp + 0x38], eax
mov eax, ecx
mul dword [esp + 0x48]
mov dword [esp + 0x48], eax
imul edi, ecx
add ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
adc ecx, dword [esp + 0x60]
add ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
adc eax, dword [esp + 0x38]
add ecx, dword [esp + 0x48]
adc edx, edi
add ecx, eax
adc edx, 0
shr ebx, 0x1f
add ebx, ecx
adc edx, 0
xor eax, eax
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
or ecx, edi
sete al
mov ecx, dword [esp + 0x18]
sub ecx, eax
sbb edi, 0
add ecx, 9
mov dword [esp + 0x18], ecx
adc edi, 0
bsr eax, edx
xor eax, 0x1f
bsr ecx, ebx
xor ecx, 0x1f
add ecx, 0x20
test edx, edx
cmovne ecx, eax
shld edx, ebx, cl
mov dword [esp + 0x38], edx
shl ebx, cl
mov edx, dword [esp + 0x18]
shld edi, edx, cl
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x3c]
shl edx, cl
mov dword [esp + 0x18], edx
sub eax, ecx
mov dword [esp + 0x54], eax
test cl, 0x20
mov edx, dword [esp + 0x38]
cmovne edx, ebx
mov ecx, 0
cmovne ebx, ecx
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x18]
cmovne edi, eax
mov dword [esp + 0x20], edi
cmovne eax, ecx
mov dword [esp + 0x18], eax
mov eax, 0xfffffb8e
mov ecx, dword [esp + 0x54]
sub eax, ecx
lea ebx, [ecx + 0x40]
cmp ebx, 0xfffffb8f
mov ecx, 0x40
cmovge ecx, eax
mov eax, 0xb
mov edi, ebx
mov dword [esp + 0x54], ebx
cmp ebx, 0xfffffbc2
jle 0x437fed
cmp eax, 0x3d
jge 0x437ff8
mov ebx, edx
mov edi, edx
mov ecx, eax
shr edi, cl
test al, 0x20
mov ecx, edi
mov edx, 0
cmovne ecx, edx
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x48]
mov ecx, eax
shrd edx, ebx, cl
test al, 0x20
cmovne edx, edi
mov dword [esp + 0x3c], edx
mov edi, 0xffffffff
mov ecx, eax
shl edi, cl
test al, 0x20
mov ecx, 0xffffffff
mov edx, eax
mov eax, edi
cmove edi, ecx
mov ecx, 0
cmovne eax, ecx
not eax
and eax, dword [esp + 0x48]
not edi
and edi, ebx
shld edi, eax, 3
shl eax, 3
mov dword [esp + 0x34], edx
mov ecx, edx
add cl, 0xff
mov edx, 8
xor ebx, ebx
shld ebx, edx, cl
shl edx, cl
test cl, 0x20
cmovne ebx, edx
mov ecx, 0
cmovne edx, ecx
mov dword [esp + 0x58], edx
mov ecx, edx
mov edx, dword [esp + 0x38]
add ecx, dword [esp + 0x18]
mov dword [esp + 0x48], ebx
adc ebx, dword [esp + 0x20]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], ecx
cmp eax, ecx
mov dword [esp + 0x60], edi
mov ecx, edi
mov dword [esp + 0x70], ebx
sbb ecx, ebx
setae cl
movzx edi, cl
add edi, dword [esp + 0x3c]
adc edx, 0
mov ecx, edi
or ecx, edx
je 0x43805d
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x54]
bsr ebx, edx
xor ebx, 0x1f
bsr ecx, edi
xor ecx, 0x1f
add ecx, 0x20
test edx, edx
cmovne ecx, ebx
shld edx, edi, cl
shl edi, cl
xor ebx, ebx
test cl, 0x20
cmovne edx, edi
cmove ebx, edi
sub eax, ecx
cmp eax, 0x3c0
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x48]
jg 0x437fd4
shrd ebx, edx, 0xb
shr edx, 0xb
cmp eax, 0xfffffbc2
jle 0x4382d6
shl eax, 0x14
and edx, 0xfffff
add eax, edx
add eax, 0x43e00000
mov dword [esp + 0x54], eax
xor eax, 0x7ff00000
or eax, ebx
je 0x437fd4
mov dword [esp + 0x3c], ebx
mov edx, dword [esp + 0x58]
sub edx, dword [esp + 0x18]
sbb edi, dword [esp + 0x20]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x5c]
cmp edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x60]
mov eax, ebx
sbb eax, dword [esp + 0x70]
jae 0x437f75
cmp edx, edi
sbb dword [esp + 0x48], ebx
jb 0x438070
xor eax, eax
cmp byte [esp + 0x50], 0x2d
sete al
shl eax, 0x1f
mov edi, dword [esp + 0x54]
or edi, eax
mov edx, dword [esp + 0x14]
mov dword [edx + 0x14], 0
mov dword [edx + 0x10], 0x14
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], edi
mov dword [esp + 4], esi
jmp 0x435e91
mov dword [esp], edx
mov dword [esp + 4], edx
jmp 0x43830f
mov eax, 0x1004ae7c
mov ecx, dword [ebp + 0x10]
test cl, 0x10
je 0x4396f1
cmp byte [esp + 0x50], 0x2d
jmp 0x43978e
mov ecx, dword [esp + 0x50]
mov eax, dword [ebp + 0x10]
test al, 0x10
jne 0x43978b
mov eax, 0x1004ae7c
jmp 0x4396f1
mov eax, ecx
cmp eax, 0x3d
jl 0x437e0d
lea ecx, [eax - 0x3c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x38]
shrd edx, edi, cl
shr dword [esp + 0x38], cl
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
shrd edi, ebx, cl
shr ebx, cl
test cl, 0x20
mov ecx, dword [esp + 0x54]
lea ecx, [eax + ecx - 0x3c]
mov dword [esp + 0x54], ecx
cmovne edx, dword [esp + 0x38]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x38]
mov eax, 0
cmovne edx, eax
cmovne edi, ebx
cmovne ebx, eax
add edi, 9
mov dword [esp + 0x18], edi
adc ebx, 0
mov dword [esp + 0x20], ebx
mov eax, 0x3c
jmp 0x437e0d
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], 0
jmp 0x4382ff
mov ecx, dword [esp + 0x54]
mov eax, ecx
and eax, 0x7ff00000
mov edi, dword [esp + 0x3c]
shld ecx, edi, 1
mov ebx, 0x200000
lea edx, [ebx - 1]
and edx, ecx
mov ecx, eax
shr ecx, 0x14
add ecx, 0xfffffbcc
or ebx, edx
test eax, eax
mov eax, 0xfffffbcd
cmovne eax, ecx
mov dword [esp + 0x58], eax
cmove ebx, edx
lea edi, [edi + edi + 1]
lea eax, [esp + 0x80]
lea ecx, [esp + 0xb0]
mov edx, dword [esp]
push dword [esp + 8]
push dword [esp + 0x50]
push dword [esp + 0x14]
push eax
push dword [esp + 0x38]
call fcn.0044a41e
add esp, 0x14
mov dword [esp + 0x2b8], 1
mov dword [esp + 0x2c0], edi
mov dword [esp + 0x2c4], ebx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x5c], eax
test eax, eax
js 0x43834e
cmp dword [esp + 0x5c], 0x13
jge 0x43815f
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4387ba
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xc], ecx
xor edi, edi
test ecx, ecx
je 0x43852a
mov ecx, dword [esp + edi*8 + 0xb8]
or ecx, dword [esp + edi*8 + 0xbc]
jne 0x43852a
add edi, 1
cmp dword [esp + 0xc], edi
jne 0x43812d
jmp 0x4387ba
mov ecx, dword [esp + 0x5c]
lea eax, [ecx - 0x13]
cmp ecx, 0x25
mov dword [esp + 0x5c], eax
jle 0x438110
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x48], eax
xor ecx, ecx
test eax, eax
je 0x43818b
mov eax, dword [esp + ecx*8 + 0xb8]
or eax, dword [esp + ecx*8 + 0xbc]
jne 0x43818b
add ecx, 1
cmp dword [esp + 0x48], ecx
jne 0x438170
jmp 0x43814f
cmp ecx, dword [esp + 0x48]
jae 0x43814f
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [esp + ecx*8 + 0xb8]
mov dword [esp + 0x28], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edx
xor eax, eax
mov ebx, 0x89e80000
add ebx, 0xdf2304
setb al
mov edi, eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mul ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + ecx*8 + 0xbc]
mov dword [esp + 0x20], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp]
imul eax, edi
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mul ebx
imul edi, dword [esp + 0x20]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x18]
add edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
adc ebx, dword [esp]
add edi, dword [esp + 0x60]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x4c]
adc edi, 0
add ebx, eax
adc edx, dword [esp + 0x20]
add ebx, edi
mov dword [esp + 0x28], ebx
adc edx, 0
mov dword [esp], edx
mov edx, dword [esp + 0x38]
and edx, 0xfff80000
mov ebx, dword [esp + 0xc]
add edx, ebx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
adc eax, edi
setb byte [esp + 0x18]
cmp edx, ebx
mov ebx, eax
sbb ebx, edi
mov dword [esp + ecx*8 + 0xbc], eax
setb ah
or ah, byte [esp + 0x18]
movzx eax, ah
add eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
mov dword [esp + ecx*8 + 0xb8], edx
mov edx, dword [esp]
adc edx, 0
mov dword [esp + 8], edx
add ecx, 1
cmp dword [esp + 0x48], ecx
jne 0x4381a1
mov eax, dword [esp + 0xc]
or eax, dword [esp + 8]
je 0x43814f
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 1]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0xbc], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + eax*8 + 0xb8], ecx
jmp 0x43814f
cmp eax, 0xfffffb8f
jl 0x4397d4
mov edi, eax
mov cl, 0xc3
sub cl, al
shrd ebx, edx, cl
shr edx, cl
xor eax, eax
test cl, 0x20
cmovne ebx, edx
cmove eax, edx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x48]
jmp 0x437f41
mov dword [esp], ebx
mov dword [esp + 4], ebx
mov ecx, 0x1004ad28
xor eax, eax
mov edi, dword [esp + 0x78]
mov edx, dword [esp]
cmp edx, edi
setb al
cmovb edi, edx
mov edx, 0x1004b011
cmovb edx, ecx
sub edi, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea esi, [esp + 0x84]
cmove ecx, esi
mov dword [ecx + 8], edi
lea eax, [eax + eax*4]
add eax, 5
jmp 0x44329a
mov eax, dword [esp + 0x5c]
mov ecx, eax
neg ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x18], 1
cmp eax, 0xffffffed
jg 0x438659
mov dword [esp + 0xc], 1
cmp dword [esp + 0xc], 0
jne 0x438392
jmp 0x4383b2
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x68], eax
cmp dword [esp + 0xc], 0
je 0x4383b2
xor ecx, ecx
mov eax, dword [esp + ecx*8 + 0x2c0]
or eax, dword [esp + ecx*8 + 0x2c4]
jne 0x4383b4
add ecx, 1
cmp dword [esp + 0xc], ecx
jne 0x438394
jmp 0x4384fa
xor ecx, ecx
cmp ecx, dword [esp + 0xc]
jae 0x4384fa
mov dword [esp + 8], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + ecx*8 + 0x2c0]
mov dword [esp + 0x28], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edx
xor eax, eax
mov ebx, 0x89e80000
add ebx, 0xdf2304
setb al
mov edi, eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mul ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + ecx*8 + 0x2c4]
mov dword [esp + 0x20], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp]
imul eax, edi
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mul ebx
imul edi, dword [esp + 0x20]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x18]
add edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
adc ebx, dword [esp]
add edi, dword [esp + 0x60]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x4c]
adc edi, 0
add ebx, eax
adc edx, dword [esp + 0x20]
add ebx, edi
mov dword [esp + 0x28], ebx
adc edx, 0
mov dword [esp], edx
mov edx, dword [esp + 0x38]
and edx, 0xfff80000
mov ebx, dword [esp + 8]
add edx, ebx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x48]
adc eax, edi
setb byte [esp + 0x18]
cmp edx, ebx
mov ebx, eax
sbb ebx, edi
mov dword [esp + ecx*8 + 0x2c4], eax
setb ah
or ah, byte [esp + 0x18]
movzx eax, ah
add eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov dword [esp + ecx*8 + 0x2c0], edx
mov edx, dword [esp]
adc edx, 0
mov dword [esp + 0x48], edx
add ecx, 1
cmp dword [esp + 0xc], ecx
jne 0x4383ce
mov eax, dword [esp + 8]
or eax, dword [esp + 0x48]
je 0x4384fa
mov eax, dword [esp + 0x2b8]
lea ecx, [eax + 1]
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + eax*8 + 0x2c4], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0x2c0], ecx
mov ecx, dword [esp + 0x68]
lea eax, [ecx - 0x13]
cmp ecx, 0x26
jge 0x43837c
test eax, eax
je 0x4387ba
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x43865d
jmp 0x4387ba
cmp edi, dword [esp + 0xc]
jae 0x4387ba
mov ecx, dword [eax*8 + 0x1004226c]
mov dword [esp + 0x60], ecx
mov eax, dword [eax*8 + 0x10042268]
mov dword [esp + 8], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
mov ecx, dword [esp + edi*8 + 0xb8]
mov eax, ecx
mul dword [esp + 8]
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], eax
mov eax, ecx
mov ebx, dword [esp + 0x60]
mul ebx
mov ecx, eax
mov dword [esp], edx
mov eax, dword [esp + edi*8 + 0xbc]
mov dword [esp + 0x4c], eax
mul dword [esp + 8]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
mul ebx
mov dword [esp + 0x4c], eax
add ecx, dword [esp + 0x48]
mov ebx, dword [esp]
adc ebx, 0
add ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
adc eax, 0
add ebx, dword [esp + 0x4c]
adc edx, 0
add ebx, eax
mov dword [esp], ebx
adc edx, 0
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
add eax, ebx
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x20]
adc ecx, edx
setb byte [esp + 0x38]
cmp eax, ebx
mov ebx, ecx
sbb ebx, edx
mov dword [esp + edi*8 + 0xbc], ecx
setb cl
or cl, byte [esp + 0x38]
movzx eax, cl
add eax, dword [esp]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov dword [esp + edi*8 + 0xb8], eax
mov edx, dword [esp + 0x48]
adc edx, 0
mov dword [esp + 0x20], edx
add edi, 1
cmp dword [esp + 0xc], edi
jne 0x43855a
mov eax, dword [esp + 0x18]
or eax, dword [esp + 0x20]
je 0x4387ba
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 1]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + eax*8 + 0xbc], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + eax*8 + 0xb8], ecx
jmp 0x4387ba
mov eax, dword [esp + 0x68]
mov ecx, dword [eax*8 + 0x1004226c]
mov dword [esp + 0x20], ecx
mov eax, dword [eax*8 + 0x10042268]
mov dword [esp + 0xc], eax
xor ecx, ecx
mov edi, dword [esp + ecx*8 + 0x2c0]
mov edx, dword [esp + ecx*8 + 0x2c4]
mov eax, edi
or eax, edx
jne 0x4386a8
add ecx, 1
cmp dword [esp + 0x18], ecx
jne 0x438675
jmp 0x4387ba
add eax, 1
mov dword [esp + 4], eax
mov ecx, 0x1004ad4c
jmp 0x4370d2
cmp ecx, dword [esp + 0x18]
jae 0x4387ba
mov ebx, edx
add ecx, 1
mov dword [esp + 8], 0
mov dword [esp + 0x48], 0
mov eax, edi
mul dword [esp + 0xc]
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], eax
mov eax, edi
mul dword [esp + 0x20]
mov dword [esp], edx
mov edi, eax
mov eax, ebx
mul dword [esp + 0xc]
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], eax
mov eax, ebx
mul dword [esp + 0x20]
mov dword [esp + 0x60], eax
add edi, dword [esp + 0x38]
mov ebx, dword [esp]
adc ebx, 0
add edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
adc eax, 0
add ebx, dword [esp + 0x60]
adc edx, 0
add ebx, eax
mov dword [esp], ebx
adc edx, 0
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x28]
add eax, ebx
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x48]
adc edi, edx
setb byte [esp + 0x34]
cmp eax, ebx
mov ebx, edi
sbb ebx, edx
mov dword [esp + ecx*8 + 0x2bc], edi
setb ah
or ah, byte [esp + 0x34]
movzx eax, ah
add eax, dword [esp]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + ecx*8 + 0x2b8], eax
mov edx, dword [esp + 0x38]
adc edx, 0
mov dword [esp + 0x48], edx
cmp dword [esp + 0x18], ecx
je 0x438789
mov edi, dword [esp + ecx*8 + 0x2c0]
mov ebx, dword [esp + ecx*8 + 0x2c4]
add ecx, 1
jmp 0x4386c7
mov eax, dword [esp + 8]
or eax, dword [esp + 0x48]
je 0x4387ba
mov eax, dword [esp + 0x2b8]
lea ecx, [eax + 1]
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + eax*8 + 0x2c4], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0x2c0], ecx
cmp dword [esp + 0x58], 0
jle 0x438894
mov eax, dword [esp + 0x58]
mov ecx, eax
shr ecx, 6
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x2b8]
mov dword [esp], ecx
and eax, 0x3f
mov dword [esp + 0x58], eax
je 0x4397e3
mov eax, dword [esp]
mov dword [esp + eax*8 + 0x2c4], 0
mov dword [esp + eax*8 + 0x2c0], 0
test eax, eax
je 0x438c82
mov ecx, 0x40
sub ecx, dword [esp + 0x58]
mov edx, dword [esp]
mov eax, dword [esp + edx*8 + 0x2b8]
mov edx, dword [esp + edx*8 + 0x2bc]
mov edi, edx
shr edi, cl
shrd eax, edx, cl
xor ebx, ebx
mov dword [esp + 0x28], ecx
test cl, 0x20
cmovne eax, edi
cmove ebx, edi
mov edx, dword [esp + 0x34]
mov edi, dword [esp]
lea ecx, [edi + edx]
mov dword [esp + ecx*8 + 0x2c0], eax
mov dword [esp + 0x18], ecx
mov dword [esp + ecx*8 + 0x2c4], ebx
cmp edi, 1
je 0x438c82
mov eax, dword [esp]
lea ecx, [eax - 1]
mov dword [esp + 0x20], ecx
lea edi, [esp + eax*8]
add edi, 0x2b8
cmp eax, 2
jne 0x438965
mov eax, dword [esp + 0x20]
mov dword [esp], eax
test byte [esp], 1
jne 0x438abe
mov ebx, dword [esp]
jmp 0x438b39
mov eax, dword [esp + 0x58]
neg eax
mov ecx, eax
shr ecx, 6
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp], ecx
and eax, 0x3f
mov dword [esp + 0x58], eax
je 0x4398ef
mov eax, dword [esp]
mov dword [esp + eax*8 + 0xbc], 0
mov dword [esp + eax*8 + 0xb8], 0
test eax, eax
je 0x439018
mov ecx, 0x40
sub ecx, dword [esp + 0x58]
mov edx, dword [esp]
mov eax, dword [esp + edx*8 + 0xb0]
mov edx, dword [esp + edx*8 + 0xb4]
mov edi, edx
shr edi, cl
shrd eax, edx, cl
xor ebx, ebx
mov dword [esp + 0x28], ecx
test cl, 0x20
cmovne eax, edi
cmove ebx, edi
mov edx, dword [esp + 0x34]
mov edi, dword [esp]
lea ecx, [edi + edx]
mov dword [esp + ecx*8 + 0xb8], eax
mov dword [esp + 0x18], ecx
mov dword [esp + ecx*8 + 0xbc], ebx
cmp edi, 1
je 0x439018
mov eax, dword [esp]
lea ecx, [eax - 1]
mov dword [esp + 0x20], ecx
lea edi, [esp + eax*8]
add edi, 0xb0
cmp eax, 2
jne 0x438cfb
mov eax, dword [esp + 0x20]
mov dword [esp], eax
test byte [esp], 1
jne 0x438e54
mov ebx, dword [esp]
jmp 0x438ecf
mov eax, dword [esp]
add eax, 0xfffffffe
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x18]
lea ecx, [esp + ecx*8 + 0x2b8]
seto dl
mov ebx, eax
mov dword [esp + 0xc], eax
cmp eax, ecx
ja 0x43887b
test dl, dl
jne 0x43887b
mov ecx, dword [esp]
lea eax, [esp + ecx*8]
add eax, 0x2b8
cmp dword [esp + 0xc], eax
ja 0x43887b
test dl, dl
jne 0x43887b
mov ebx, dword [esp]
lea ebx, [esp + ebx*8]
add ebx, 0x2b0
cmp dword [esp + 0xc], ebx
ja 0x43887b
test dl, dl
jne 0x43887b
mov edx, dword [esp + 0x34]
lea edx, [esp + edx*8]
add edx, 0x2c8
mov ebx, dword [esp + 0x18]
lea ecx, [esp + ebx*8]
add ecx, 0x2c0
mov ebx, dword [esp]
lea ebx, [esp + ebx*8]
add ebx, 0x2c0
cmp edx, ebx
setb byte [esp]
lea ebx, [esp + 0x2c8]
cmp ecx, ebx
seta bh
cmp edx, eax
setb al
lea edx, [esp + 0x2c0]
cmp ecx, edx
seta dl
test byte [esp], bh
jne 0x43887b
and al, dl
jne 0x43887b
mov ebx, dword [esp + 0x18]
shl ebx, 3
mov edx, dword [esp + 0x20]
and edx, 0xfffffffe
mov ecx, edx
neg ecx
mov dword [esp + 0x18], edx
lea edx, [edx*8]
sub edi, edx
lea edx, [esp + 0x2b8]
add ebx, edx
add ebx, 0xfffffff8
mov edx, dword [esp + 0x20]
and edx, 1
mov dword [esp], edx
movd xmm0, dword [esp + 0x58]
movd xmm1, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
add eax, esp
add eax, 0x2b8
xor edx, edx
movdqu xmm2, xmmword [eax + edx*8]
movdqu xmm3, xmmword [eax + edx*8 + 8]
pshufd xmm3, xmm3, 0x4e
psllq xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
psrlq xmm2, xmm1
por xmm2, xmm3
pshufd xmm2, xmm2, 0x4e
movdqu xmmword [ebx + edx*8], xmm2
add edx, 0xfffffffe
cmp ecx, edx
jne 0x438a79
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x20], eax
jne 0x438882
jmp 0x438c82
mov edx, dword [edi]
mov edi, dword [edi + 4]
mov eax, edx
mov ecx, dword [esp + 0x58]
shl eax, cl
shld edi, edx, cl
xor edx, edx
test cl, 0x20
cmovne edi, eax
mov dword [esp + 0x18], edi
cmovne eax, edx
mov dword [esp + 0xc], eax
mov edi, dword [esp]
mov ebx, dword [esp + edi*8 + 0x2bc]
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 0x28]
shr ebx, cl
mov edx, dword [esp + edi*8 + 0x2b8]
mov eax, dword [esp + 0x20]
shrd edx, eax, cl
test cl, 0x20
cmovne edx, ebx
mov ecx, 0
cmovne ebx, ecx
or ebx, dword [esp + 0x18]
or edx, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
add eax, edi
mov dword [esp + eax*8 + 0x2c0], edx
mov dword [esp + eax*8 + 0x2c4], ebx
lea ebx, [edi - 1]
lea edi, [esp + edi*8]
add edi, 0x2b8
cmp dword [esp], 1
je 0x438c82
mov eax, dword [esp + 0x34]
lea eax, [esp + eax*8]
add eax, 0x2c0
mov dword [esp + 0x18], eax
mov dword [esp], edi
mov eax, dword [edi]
mov dword [esp + 0xc], eax
mov edx, eax
mov ecx, dword [esp + 0x58]
shl edx, cl
mov dword [esp + 8], edx
test cl, 0x20
mov eax, 0
cmovne edx, eax
mov dword [esp + 0x38], edx
mov eax, ebx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + ebx*8 + 0x2bc]
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x28]
shr ebx, cl
mov edi, dword [esp + eax*8 + 0x2b8]
mov edx, dword [esp + 0x48]
shrd edi, edx, cl
test cl, 0x20
cmovne edi, ebx
mov ecx, 0
cmovne ebx, ecx
or edi, dword [esp + 0x38]
mov ecx, dword [esp]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
mov dword [ecx + eax*8], edi
mov edi, dword [esp + eax*8 + 0x2b8]
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x58]
mov ecx, eax
shl edi, cl
mov dword [esp + 0x48], edi
test al, 0x20
mov dword [esp], edi
mov ecx, 0
mov edi, dword [esp]
cmovne edi, ecx
mov dword [esp], edi
mov ecx, eax
mov edi, dword [esp + 0xc]
shld edx, edi, cl
test al, 0x20
cmovne edx, dword [esp + 8]
or edx, ebx
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + edi*8 + 0x2b0]
mov ecx, dword [esp + 0x18]
mov dword [ecx + edi*8 + 4], edx
mov edx, edi
mov edi, dword [esp + edi*8 + 0x2bc]
mov ecx, eax
mov eax, dword [esp + 0x38]
shld edi, eax, cl
test cl, 0x20
cmovne edi, dword [esp + 0x48]
mov dword [esp + 0xc], edi
mov eax, dword [esp + edx*8 + 0x2b4]
mov edx, eax
mov ecx, dword [esp + 0x28]
shr edx, cl
test byte [esp + 0x28], 0x20
mov edi, edx
mov ecx, 0
cmovne edi, ecx
mov ecx, dword [esp + 0x28]
shrd ebx, eax, cl
test byte [esp + 0x28], 0x20
cmovne ebx, edx
or edi, dword [esp + 0xc]
or ebx, dword [esp]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [ecx + eax*8 - 8], ebx
mov dword [ecx + eax*8 - 4], edi
lea edi, [esp + eax*8]
add edi, 0x2b0
add eax, 0xfffffffe
test eax, eax
mov ebx, eax
jne 0x438b53
mov eax, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2c4]
mov edi, eax
mov ecx, dword [esp + 0x58]
shl edi, cl
shld edx, eax, cl
xor eax, eax
test cl, 0x20
cmovne edx, edi
cmove eax, edi
mov edi, dword [esp + 0x34]
mov dword [esp + edi*8 + 0x2c0], eax
mov dword [esp + edi*8 + 0x2c4], edx
mov eax, dword [esp + 0x2b8]
add eax, edi
mov ecx, dword [esp + eax*8 + 0x2c0]
xor edx, edx
or ecx, dword [esp + eax*8 + 0x2c4]
setne dl
add edx, eax
mov dword [esp + 0x2b8], edx
test edi, edi
je 0x439091
mov eax, dword [esp + 0x34]
shl eax, 3
push eax
push 0
lea eax, [esp + 0x2c8]
jmp 0x439088
mov eax, dword [esp]
add eax, 0xfffffffe
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x18]
lea ecx, [esp + ecx*8 + 0xb0]
seto dl
mov ebx, eax
mov dword [esp + 0xc], eax
cmp eax, ecx
ja 0x43894c
test dl, dl
jne 0x43894c
mov ecx, dword [esp]
lea eax, [esp + ecx*8]
add eax, 0xb0
cmp dword [esp + 0xc], eax
ja 0x43894c
test dl, dl
jne 0x43894c
mov ebx, dword [esp]
lea ebx, [esp + ebx*8]
add ebx, 0xa8
cmp dword [esp + 0xc], ebx
ja 0x43894c
test dl, dl
jne 0x43894c
mov edx, dword [esp + 0x34]
lea edx, [esp + edx*8]
add edx, 0xc0
mov ebx, dword [esp + 0x18]
lea ecx, [esp + ebx*8]
add ecx, 0xb8
mov ebx, dword [esp]
lea ebx, [esp + ebx*8]
add ebx, 0xb8
cmp edx, ebx
setb byte [esp]
lea ebx, [esp + 0xc0]
cmp ecx, ebx
seta bh
cmp edx, eax
lea edx, [esp + 0xb8]
setb al
cmp ecx, edx
seta dl
test byte [esp], bh
jne 0x43894c
and al, dl
jne 0x43894c
mov ebx, dword [esp + 0x18]
shl ebx, 3
mov edx, dword [esp + 0x20]
and edx, 0xfffffffe
lea ecx, [edx*8]
sub edi, ecx
mov dword [esp + 0x18], edx
mov ecx, edx
neg ecx
lea edx, [esp + 0xb0]
add ebx, edx
add ebx, 0xfffffff8
mov edx, dword [esp + 0x20]
and edx, 1
mov dword [esp], edx
movd xmm0, dword [esp + 0x58]
movd xmm1, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
add eax, esp
add eax, 0xb0
xor edx, edx
movdqu xmm2, xmmword [eax + edx*8]
movdqu xmm3, xmmword [eax + edx*8 + 8]
pshufd xmm3, xmm3, 0x4e
psllq xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
psrlq xmm2, xmm1
por xmm2, xmm3
pshufd xmm2, xmm2, 0x4e
movdqu xmmword [ebx + edx*8], xmm2
add edx, 0xfffffffe
cmp ecx, edx
jne 0x438e0f
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x20], eax
jne 0x438953
jmp 0x439018
mov edx, dword [edi]
mov edi, dword [edi + 4]
mov eax, edx
mov ecx, dword [esp + 0x58]
shl eax, cl
shld edi, edx, cl
xor edx, edx
test cl, 0x20
cmovne edi, eax
mov dword [esp + 0x18], edi
cmovne eax, edx
mov dword [esp + 0xc], eax
mov edi, dword [esp]
mov ebx, dword [esp + edi*8 + 0xb4]
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 0x28]
shr ebx, cl
mov edx, dword [esp + edi*8 + 0xb0]
mov eax, dword [esp + 0x20]
shrd edx, eax, cl
test cl, 0x20
cmovne edx, ebx
mov ecx, 0
cmovne ebx, ecx
or ebx, dword [esp + 0x18]
or edx, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
add eax, edi
mov dword [esp + eax*8 + 0xb8], edx
mov dword [esp + eax*8 + 0xbc], ebx
lea ebx, [edi - 1]
lea edi, [esp + edi*8]
add edi, 0xb0
cmp dword [esp], 1
je 0x439018
mov eax, dword [esp + 0x34]
lea eax, [esp + eax*8]
add eax, 0xb8
mov dword [esp + 0x18], eax
mov dword [esp], edi
mov eax, dword [edi]
mov dword [esp + 0xc], eax
mov edx, eax
mov ecx, dword [esp + 0x58]
shl edx, cl
mov dword [esp + 8], edx
test cl, 0x20
mov eax, 0
cmovne edx, eax
mov dword [esp + 0x38], edx
mov eax, ebx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + ebx*8 + 0xb4]
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x28]
shr ebx, cl
mov edi, dword [esp + eax*8 + 0xb0]
mov edx, dword [esp + 0x48]
shrd edi, edx, cl
test cl, 0x20
cmovne edi, ebx
mov ecx, 0
cmovne ebx, ecx
or edi, dword [esp + 0x38]
mov ecx, dword [esp]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
mov dword [ecx + eax*8], edi
mov edi, dword [esp + eax*8 + 0xb0]
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x58]
mov ecx, eax
shl edi, cl
mov dword [esp + 0x48], edi
test al, 0x20
mov dword [esp], edi
mov ecx, 0
mov edi, dword [esp]
cmovne edi, ecx
mov dword [esp], edi
mov ecx, eax
mov edi, dword [esp + 0xc]
shld edx, edi, cl
test al, 0x20
cmovne edx, dword [esp + 8]
or edx, ebx
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + edi*8 + 0xa8]
mov ecx, dword [esp + 0x18]
mov dword [ecx + edi*8 + 4], edx
mov edx, edi
mov edi, dword [esp + edi*8 + 0xb4]
mov ecx, eax
mov eax, dword [esp + 0x38]
shld edi, eax, cl
test cl, 0x20
cmovne edi, dword [esp + 0x48]
mov dword [esp + 0xc], edi
mov eax, dword [esp + edx*8 + 0xac]
mov edx, eax
mov ecx, dword [esp + 0x28]
shr edx, cl
test byte [esp + 0x28], 0x20
mov edi, edx
mov ecx, 0
cmovne edi, ecx
mov ecx, dword [esp + 0x28]
shrd ebx, eax, cl
test byte [esp + 0x28], 0x20
cmovne ebx, edx
or edi, dword [esp + 0xc]
or ebx, dword [esp]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [ecx + eax*8 - 8], ebx
mov dword [ecx + eax*8 - 4], edi
lea edi, [esp + eax*8]
add edi, 0xa8
add eax, 0xfffffffe
test eax, eax
mov ebx, eax
jne 0x438ee9
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
mov edi, eax
mov ecx, dword [esp + 0x58]
shl edi, cl
shld edx, eax, cl
xor eax, eax
test cl, 0x20
cmovne edx, edi
cmove eax, edi
mov edi, dword [esp + 0x34]
mov dword [esp + edi*8 + 0xb8], eax
mov dword [esp + edi*8 + 0xbc], edx
mov eax, dword [esp + 0xb0]
add eax, edi
mov ecx, dword [esp + eax*8 + 0xb8]
xor edx, edx
or ecx, dword [esp + eax*8 + 0xbc]
setne dl
add edx, eax
mov dword [esp + 0xb0], edx
test edi, edi
je 0x439091
lea eax, [esp + 0xb8]
mov ecx, dword [esp + 0x34]
shl ecx, 3
push ecx
push 0
push eax
call fcn.0045779e
add esp, 0xc
mov eax, dword [esp + 0xb0]
cmp eax, dword [esp + 0x2b8]
jne 0x439119
mov ebx, eax
sub ebx, 1
jb 0x439121
mov ecx, dword [esp + eax*8 + 0xb0]
mov dword [esp], ecx
mov ecx, dword [esp + eax*8 + 0xb4]
mov edi, dword [esp + eax*8 + 0x2b8]
mov eax, dword [esp + eax*8 + 0x2bc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edi
cmp edi, dword [esp]
mov eax, dword [esp + 0x28]
sbb eax, ecx
mov eax, 1
cmovb edx, eax
mov eax, dword [esp]
xor eax, edi
mov dword [esp + 0x20], eax
mov edi, ecx
xor edi, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
cmp dword [esp], eax
sbb ecx, dword [esp + 0x28]
mov ecx, 0xffffffff
cmovb edx, ecx
or edi, dword [esp + 0x20]
mov eax, ebx
je 0x4390a3
xor ecx, ecx
test edx, edx
setg al
je 0x439121
xor edx, edx
mov cl, al
jmp 0x43912a
setae al
movzx ecx, al
jmp 0x439128
mov ecx, dword [esp + 0x3c]
and ecx, 1
xor edx, edx
add ecx, dword [esp + 0x3c]
adc edx, dword [esp + 0x54]
mov eax, edx
mov edi, 0x7ff00000
xor eax, edi
or eax, ecx
je 0x4397bc
xor eax, eax
cmp byte [esp + 0x50], 0x2d
sete al
shl eax, 0x1f
or edx, eax
mov eax, dword [esp + 0x14]
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0x14
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
jmp 0x436926
add esi, 1
mov dword [esp + 4], esi
mov ecx, 0x1004ad4c
mov dword [esp], esi
jmp 0x438314
cmp cl, 0x22
je 0x4359d8
mov dword [esp + 4], eax
mov ecx, 0x1004ad01
jmp 0x4370d2
mov ecx, eax
mov eax, dword [ebp + 0x10]
test al, 0x10
jne 0x439d10
add esi, 0xffffffff
mov dword [esp + 4], esi
mov eax, 0x1004ac3d
mov dword [esp + 0x44], esi
jmp 0x4396f1
cmp al, 0x2e
jne 0x439dda
movzx eax, byte [esi + 1]
test byte [eax + 0x1003f7a8], 3
je 0x439773
mov edx, eax
mov eax, esi
mov ecx, edx
cmp cl, 0x30
je 0x439db6
mov ecx, edx
add ecx, 0xffffffd0
mov dword [esp], ecx
sar ecx, 0x1f
mov dword [esp + 0x28], ecx
mov dword [esp + 8], esi
mov esi, eax
jmp 0x43920e
mov ecx, dword [esp]
sar ecx, 0x1f
mov dword [esp + 0x28], ecx
cmp dl, 0x2e
jne 0x439625
movzx eax, byte [esi + 2]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439cbc
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 3]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439bbd
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 4]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439bb1
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 5]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439ba5
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 6]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439b99
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 7]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439b8d
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 8]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439b40
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 9]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439b34
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0xa]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439b28
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0xb]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439aa2
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0xc]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439a96
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0xd]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439a8a
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0xe]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439a7e
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0xf]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x43997a
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x43996e
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0x11]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439962
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0x12]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x43994f
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0x13]
mov dword [esp + 0x18], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x439943
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0x28]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0x28], edi
movzx eax, byte [esi + 0x14]
add esi, 0x14
mov dword [esp + 0x18], eax
test byte [eax + 0x1003f7a8], 3
mov ecx, esi
mov dword [esp + 0x4c], esi
jne 0x43644c
mov eax, dword [esp + 8]
add eax, 1
cmp eax, dword [esp + 0x4c]
je 0x4396dd
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 8]
mov ecx, eax
sar ecx, 0x1f
mov dword [esp + 0xc], 0
mov edi, 1
sub edi, eax
mov edx, 0
sbb edx, ecx
movzx ecx, byte [esp + 0x18]
test byte [ecx + 0x1003f7a8], 0x20
jne 0x439b4c
cmp eax, 0x159
jge 0x439b5d
mov dword [esp + 0xc], 0
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov eax, edi
jmp 0x436650
cmp dl, 0x2e
je 0x439560
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
mov esi, dword [esp + 8]
mov dword [esp + 0x4c], esi
mov dword [esp + 0xc], 0
jmp 0x43656a
cmp al, 0x22
jne 0x439762
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
jmp 0x435e63
mov ecx, dword [esp + 0x4c]
add ecx, 0xffffffff
mov dword [esp + 4], ecx
mov eax, 0x1004aaa5
mov dword [esp + 0x44], ecx
lea edi, [esp + 0x84]
xor ecx, ecx
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x44]
cmp edx, esi
setb cl
cmovb esi, edx
mov edx, 0x1004b011
cmovb edx, eax
sub esi, dword [esp + 0x6c]
mov eax, dword [ebp + 0x18]
test eax, eax
cmove eax, edi
mov dword [eax + 8], esi
lea ecx, [ecx*4 + 5]
mov dword [eax], ecx
mov dword [eax + 4], edx
xor esi, esi
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x43138d
jmp 0x431399
mov dword [esp + 4], esi
mov ecx, 0x1004ad01
mov dword [esp], esi
jmp 0x438314
add esi, 1
add esi, 0xffffffff
mov dword [esp + 0x44], esi
mov dword [esp + 4], esi
mov eax, 0x1004aaa5
jmp 0x4396f1
cmp cl, 0x2d
mov edx, dword [esp + 0x14]
mov dword [edx + 0x14], 0
mov eax, 0xfff00000
mov ecx, 0x7ff00000
cmove ecx, eax
mov dword [edx + 0x10], 0x14
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x18], 0
jmp 0x436926
mov eax, dword [ebp + 0x10]
test al, 0x10
jne 0x439e62
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
jmp 0x437fe3
xor ebx, ebx
mov dword [esp + 0x54], 0
jmp 0x4382fb
cmp dword [esp], 0
je 0x43993c
cmp dword [esp], 4
jb 0x439c0c
mov edi, dword [esp]
lea eax, [edi - 1]
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x34]
lea edi, [edi + ecx]
lea edx, [esp + edi*8 + 0x2b8]
seto cl
cmp eax, edx
ja 0x439c0c
test cl, cl
jne 0x439c0c
mov edx, dword [esp]
lea edx, [esp + edx*8]
add edx, 0x2b8
cmp eax, edx
ja 0x439c0c
test cl, cl
jne 0x439c0c
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0x2c0
mov edx, dword [esp]
lea edx, [esp + edx*8]
add edx, 0x2c0
cmp ecx, edx
jae 0x439876
lea ecx, [esp + edi*8]
add ecx, 0x2c0
lea edx, [esp + 0x2c0]
cmp ecx, edx
ja 0x439c0c
mov ebx, dword [esp]
and ebx, 0xfffffffc
lea ecx, [ebx - 4]
mov edx, ecx
shr edx, 2
add edx, 1
mov dword [esp + 0x28], edx
test ecx, ecx
je 0x439bc9
shl edi, 3
lea ecx, [esp + 0x2b8]
add edi, ecx
add edi, 0xfffffff8
lea ecx, [esp + eax]
add ecx, 0x2b8
mov edx, dword [esp + 0x28]
and edx, 0xfffffffe
neg edx
xor eax, eax
movups xmm0, xmmword [ecx + eax*8 - 0x10]
movups xmm1, xmmword [ecx + eax*8]
movups xmmword [edi + eax*8], xmm1
movups xmmword [edi + eax*8 - 0x10], xmm0
movdqu xmm0, xmmword [ecx + eax*8 - 0x30]
movdqu xmm1, xmmword [ecx + eax*8 - 0x20]
movdqu xmmword [edi + eax*8 - 0x20], xmm1
movdqu xmmword [edi + eax*8 - 0x30], xmm0
add eax, 0xfffffff8
add edx, 2
jne 0x4398b6
neg eax
jmp 0x439bcb
cmp dword [esp], 0
je 0x43995b
cmp dword [esp], 4
jae 0x439986
mov edx, dword [esp]
lea ecx, [edx - 1]
and edx, 3
je 0x439aae
mov eax, dword [esp + 0x34]
lea edi, [esp + eax*8]
add edi, 0xb0
mov ebx, dword [esp]
lea eax, [ebx - 1]
movq xmm0, qword [esp + ebx*8 + 0xb0]
movq qword [edi + ebx*8], xmm0
mov dword [esp], eax
add edx, 0xffffffff
jne 0x43991b
jmp 0x439ab1
xor eax, eax
jmp 0x439ca2
add esi, 0x13
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 0x12
mov dword [esp + 0x4c], esi
jmp 0x4395b0
xor eax, eax
jmp 0x439b0e
add esi, 0x11
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 0x10
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 0xf
mov dword [esp + 0x4c], esi
jmp 0x4395b0
mov edi, dword [esp]
lea eax, [edi - 1]
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x34]
lea edi, [edi + ecx]
lea edx, [esp + edi*8 + 0xb0]
seto cl
cmp eax, edx
ja 0x4398ff
test cl, cl
jne 0x4398ff
mov edx, dword [esp]
lea edx, [esp + edx*8]
add edx, 0xb0
cmp eax, edx
ja 0x4398ff
test cl, cl
jne 0x4398ff
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0xb8
mov edx, dword [esp]
lea edx, [esp + edx*8]
add edx, 0xb8
cmp ecx, edx
jae 0x439a05
lea ecx, [esp + edi*8]
add ecx, 0xb8
lea edx, [esp + 0xb8]
cmp ecx, edx
ja 0x4398ff
mov ebx, dword [esp]
and ebx, 0xfffffffc
lea ecx, [ebx - 4]
mov edx, ecx
shr edx, 2
add edx, 1
mov dword [esp + 0x28], edx
test ecx, ecx
je 0x439cc8
shl edi, 3
lea ecx, [esp + 0xb0]
add edi, ecx
add edi, 0xfffffff8
lea ecx, [esp + eax]
add ecx, 0xb0
mov edx, dword [esp + 0x28]
and edx, 0xfffffffe
neg edx
xor eax, eax
movups xmm0, xmmword [ecx + eax*8 - 0x10]
movups xmm1, xmmword [ecx + eax*8]
movups xmmword [edi + eax*8], xmm1
movups xmmword [edi + eax*8 - 0x10], xmm0
movdqu xmm0, xmmword [ecx + eax*8 - 0x30]
movdqu xmm1, xmmword [ecx + eax*8 - 0x20]
movdqu xmmword [edi + eax*8 - 0x20], xmm1
movdqu xmmword [edi + eax*8 - 0x30], xmm0
add eax, 0xfffffff8
add edx, 2
jne 0x439a45
neg eax
jmp 0x439cca
add esi, 0xe
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 0xd
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 0xc
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 0xb
mov dword [esp + 0x4c], esi
jmp 0x4395b0
mov eax, dword [esp]
cmp ecx, 3
jb 0x439b07
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0xb0
mov edx, eax
movsd xmm0, qword [esp + eax*8 + 0xb0]
movsd qword [ecx + eax*8], xmm0
movsd xmm0, qword [esp + eax*8 + 0xa8]
movsd qword [ecx + eax*8 - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0xa0]
movsd qword [ecx + eax*8 - 0x10], xmm0
movq xmm0, qword [esp + eax*8 + 0x98]
movq qword [ecx + eax*8 - 0x18], xmm0
add edx, 0xfffffffc
mov eax, edx
jne 0x439ac5
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0xb0], eax
test ecx, ecx
jne 0x439077
jmp 0x439091
add esi, 0xa
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 9
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 8
mov dword [esp + 0x4c], esi
jmp 0x4395b0
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], edx
jmp 0x43656a
xor eax, eax
cmp bl, 0x2d
sete al
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
shl eax, 0x1f
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x18], 0
mov esi, dword [esp + 0x4c]
jmp 0x436926
add esi, 7
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 6
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 5
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 4
mov dword [esp + 0x4c], esi
jmp 0x4395b0
add esi, 3
mov dword [esp + 0x4c], esi
jmp 0x4395b0
xor eax, eax
test byte [esp + 0x28], 1
je 0x439bff
not eax
add eax, dword [esp]
movdqu xmm0, xmmword [esp + eax*8 + 0x2a8]
movdqu xmm1, xmmword [esp + eax*8 + 0x2b8]
add eax, dword [esp + 0x34]
movdqu xmmword [esp + eax*8 + 0x2b8], xmm1
movdqu xmmword [esp + eax*8 + 0x2a8], xmm0
cmp dword [esp], ebx
je 0x439c9b
and dword [esp], 3
mov edx, dword [esp]
lea ecx, [edx - 1]
and edx, 3
je 0x439c42
mov eax, dword [esp + 0x34]
lea edi, [esp + eax*8]
add edi, 0x2b8
mov ebx, dword [esp]
lea eax, [ebx - 1]
movq xmm0, qword [esp + ebx*8 + 0x2b8]
movq qword [edi + ebx*8], xmm0
mov dword [esp], eax
add edx, 0xffffffff
jne 0x439c24
jmp 0x439c45
mov eax, dword [esp]
cmp ecx, 3
jb 0x439c9b
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0x2b8
mov edx, eax
movsd xmm0, qword [esp + eax*8 + 0x2b8]
movsd qword [ecx + eax*8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2b0]
movsd qword [ecx + eax*8 - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2a8]
movsd qword [ecx + eax*8 - 0x10], xmm0
movq xmm0, qword [esp + eax*8 + 0x2a0]
movq qword [ecx + eax*8 - 0x18], xmm0
add edx, 0xfffffffc
mov eax, edx
jne 0x439c59
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x2b8], eax
test ecx, ecx
jne 0x438ce5
jmp 0x439091
add esi, 2
mov dword [esp + 0x4c], esi
jmp 0x4395b0
xor eax, eax
test byte [esp + 0x28], 1
je 0x439cfe
not eax
add eax, dword [esp]
movdqu xmm0, xmmword [esp + eax*8 + 0xa0]
movdqu xmm1, xmmword [esp + eax*8 + 0xb0]
add eax, dword [esp + 0x34]
movdqu xmmword [esp + eax*8 + 0xb0], xmm1
movdqu xmmword [esp + eax*8 + 0xa0], xmm0
cmp dword [esp], ebx
je 0x439b07
and dword [esp], 3
jmp 0x4398ff
mov eax, ecx
add al, 0xb7
cmp al, 0x25
ja 0x4391a7
movzx eax, al
jmp dword [eax*4 + 0x1004377c]
mov eax, esi
movzx ecx, byte [eax + 2]
add eax, 1
cmp ecx, 0x30
je 0x439db8
mov edx, ecx
mov cl, byte [edx + 0x1003f7a8]
test cl, 3
jne 0x4391e4
add eax, 1
mov esi, eax
test cl, 3
jne 0x439df2
test cl, 0x20
jne 0x439e96
xor eax, eax
cmp bl, 0x2d
jmp 0x437bc9
add esi, 0xffffffff
mov dword [esp + 0x44], esi
mov dword [esp + 4], esi
mov eax, 0x1004af1e
jmp 0x4396f1
xor eax, eax
cmp byte [esp + 0x50], 0x2d
mov edx, dword [esp + 0x14]
mov dword [edx + 0x14], 0
mov ecx, 0xfff00000
mov edi, 0x7ff00000
cmove edi, ecx
cmove eax, eax
mov dword [edx + 0x10], 0x14
mov dword [edx + 0x1c], edi
mov dword [edx + 0x18], eax
jmp 0x436926
movzx eax, byte [esi + 1]
mov al, byte [eax + 0x1003f7a8]
and al, 0xc
cmp al, 1
sbb esi, 0
movzx eax, byte [esi + 2]
add esi, 2
test byte [eax + 0x1003f7a8], 3
je 0x439ecc
movzx eax, byte [esi + 1]
add esi, 1
test byte [eax + 0x1003f7a8], 3
jne 0x439eb7
jmp 0x439de8
add esi, 0xffffffff
mov dword [esp + 0x44], esi
mov dword [esp + 4], esi
mov eax, 0x1004ac20
jmp 0x4396f1
lea edi, [esp + 4]
mov dword [esp + 0x2c], edx
movzx eax, word [esi]
cmp eax, 0x2020
jne 0x43a050
nop dword [eax]
lea ecx, [esi + 2]
mov dword [esp + 4], ecx
movzx eax, word [esi + 2]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 4]
mov dword [esp + 4], ecx
movzx eax, word [esi + 4]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 6]
mov dword [esp + 4], ecx
movzx eax, word [esi + 6]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 8]
mov dword [esp + 4], ecx
movzx eax, word [esi + 8]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0xa]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0xa]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0xc]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0xc]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0xe]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0xe]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0x10]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x10]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0x12]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x12]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0x14]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x14]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0x16]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x16]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0x18]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x18]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0x1a]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x1a]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0x1c]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x1c]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0x1e]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x1e]
cmp eax, 0x2020
jne 0x43a04e
lea ecx, [esi + 0x20]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x20]
mov esi, ecx
cmp eax, 0x2020
je 0x439efe
nop word [eax + eax]
mov esi, ecx
cmp al, 0x5b
je 0x43e06c
cmp al, 0x7b
je 0x43e381
movzx ecx, al
mov cl, byte [ecx + 0x1003f5f0]
test cl, 2
jne 0x43a100
mov edx, eax
add dl, 0xa3
cmp dl, 0x17
ja 0x43a086
movzx edx, dl
jmp dword [edx*4 + 0x100433e4]
cmp al, 0x22
je 0x43a54f
test cl, 1
jne 0x43a0cc
mov ecx, dword [ebp + 0x10]
test cl, 0x10
mov ecx, dword [esp + 0x2c]
je 0x43a0a7
cmp al, 0x4e
je 0x43af54
mov eax, dword [ebp + 0x10]
test al, 8
je 0x43a0f9
mov ecx, esi
mov edx, edi
call fcn.0044333e
test al, al
je 0x43fba6
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x2c]
jmp 0x439ee9
add esi, 1
mov edx, dword [esp + 0x2c]
nop word cs:[eax + eax]
nop
mov dword [esp + 4], esi
movzx eax, byte [esi]
add esi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x43a0de
add esi, 0xffffffff
jmp 0x439ee9
mov eax, ecx
jmp 0x431348
mov edi, dword [esp + 0x30]
add edi, 0x10
cmp edi, dword [esp + 0x40]
jae 0x43afde
mov dword [esp + 0x30], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], edx
add dword [esp + 0x24], 1
mov dword [esp + 0x80], 0
mov cl, byte [esi]
xor eax, eax
mov byte [esp + 0x18], cl
cmp cl, 0x2d
sete al
lea edi, [esi + eax]
movzx eax, byte [esi + eax]
test byte [eax + 0x1003f7a8], 2
je 0x43b03f
add eax, 0xffffffd0
movzx edx, byte [edi + 1]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b08e
mov ecx, 0xa
imul ecx
mov ecx, edx
add eax, ebx
adc ecx, 0
movzx edx, byte [edi + 2]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b0eb
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 3]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b118
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 4]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b145
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 5]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b172
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 6]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b19f
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 7]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b1cc
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 8]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b1f9
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 9]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b226
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 0xa]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b253
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 0xb]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b280
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 0xc]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b2ad
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 0xd]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b2da
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 0xe]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b307
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 0xf]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b334
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 0x10]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b35d
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 0x11]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b386
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
adc ecx, edx
movzx edx, byte [edi + 0x12]
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x43b3af
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, ebx
mov dword [esp], eax
adc ecx, edx
mov dword [esp + 0x10], ecx
mov al, byte [edi + 0x13]
add edi, 0x13
movzx ecx, al
mov dl, byte [ecx + 0x1003f7a8]
test dl, 0x33
je 0x43a8e1
test dl, 3
je 0x43a3c5
movzx ebx, byte [edi + 1]
test byte [ebx + 0x1003f7a8], 0x33
je 0x43a99e
test dl, 0x20
jne 0x43a947
mov dword [esp + 8], 0
cmp al, 0x2e
jne 0x43aa65
lea ecx, [edi + 1]
movzx eax, byte [edi + 1]
test byte [eax + 0x1003f7a8], 3
je 0x43fa8a
mov dword [esp + 8], edi
jmp 0x43aa67
xor eax, eax
mov edi, dword [esp + 0x78]
cmp esi, edi
setb al
cmovb edi, esi
mov ecx, 0x1004af46
mov ebx, edx
mov edx, 0x1004b011
cmovb edx, ecx
sub edi, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea esi, [esp + 0x84]
cmove ecx, esi
mov dword [ecx + 8], edi
add eax, eax
add eax, 5
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor esi, esi
test ebx, ebx
je 0x443240
mov eax, ebx
push ebx
jmp 0x44303f
mov edi, dword [esp + 0x30]
add edi, 0x10
cmp edi, dword [esp + 0x40]
jae 0x43b5b8
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], edi
add dword [esp + 0x24], 1
mov al, byte [esi + 1]
add esi, 1
mov ebx, esi
movzx ecx, al
test byte [ecx + 0x1003f5f0], 0xc
mov edx, dword [esp + 0x2c]
jne 0x43a762
add ebx, 8
mov edi, ebx
mov ecx, dword [esp + 0x14]
nop word cs:[eax + eax]
nop
movzx eax, byte [edi - 7]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6a1
movzx eax, byte [edi - 6]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6a6
movzx eax, byte [edi - 5]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6ab
movzx eax, byte [edi - 4]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6b0
movzx eax, byte [edi - 3]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6b5
movzx eax, byte [edi - 2]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6ba
movzx eax, byte [edi - 1]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6bf
movzx eax, byte [edi]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6e5
movzx eax, byte [edi + 1]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6c4
movzx eax, byte [edi + 2]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6c9
movzx eax, byte [edi + 3]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6ce
movzx eax, byte [edi + 4]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6d3
movzx eax, byte [edi + 5]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6d8
movzx eax, byte [edi + 6]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6dd
movzx eax, byte [edi + 7]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43a6e2
movzx eax, byte [edi + 8]
add edi, 0x10
test byte [eax + 0x1003f5f0], 0xc
je 0x43a59e
add edi, 0xfffffff8
jmp 0x43a6e5
add edi, 0xfffffff9
jmp 0x43a6e5
add edi, 0xfffffffa
jmp 0x43a6e5
add edi, 0xfffffffb
jmp 0x43a6e5
add edi, 0xfffffffc
jmp 0x43a6e5
add edi, 0xfffffffd
jmp 0x43a6e5
add edi, 0xfffffffe
jmp 0x43a6e5
add edi, 0xffffffff
jmp 0x43a6e5
add edi, 1
jmp 0x43a6e5
add edi, 2
jmp 0x43a6e5
add edi, 3
jmp 0x43a6e5
add edi, 4
jmp 0x43a6e5
add edi, 5
jmp 0x43a6e5
add edi, 6
jmp 0x43a6e5
add edi, 7
mov dword [esp + 0x14], ecx
cmp al, 0x22
je 0x43a8a6
test al, al
jns 0x43c0e5
test dword [ebp + 0x10], 0x40000000
jne 0x43a76d
mov edx, edi
mov eax, dword [edi]
mov ebx, eax
and ebx, 0xc0c0f0
mov ecx, eax
mov dword [esp], edi
mov edx, eax
cmp ebx, 0x8080e0
jne 0x43a7e8
mov edx, ecx
and edx, 0x200f
je 0x43a7e6
cmp edx, 0x200d
je 0x43a7e6
mov eax, dword [esp]
mov ecx, dword [eax + 3]
add eax, 3
mov dword [esp], eax
mov edx, ecx
and edx, 0xc0c0f0
mov eax, ecx
cmp edx, 0x8080e0
je 0x43a721
mov edx, ecx
mov eax, ecx
jmp 0x43a7e8
mov edi, ebx
mov ecx, dword [esp + 0x14]
jmp 0x43a6e5
mov eax, dword [edi]
mov ecx, eax
and ecx, 0x800080
cmp ecx, 0x800080
jne 0x43a7b1
add edi, 2
test eax, 0xff00
je 0x43c8a2
cmp eax, 0xffffff
jbe 0x43c8b1
mov eax, dword [edi + 2]
mov ecx, eax
and ecx, 0x800080
add edi, 4
cmp ecx, 0x800080
je 0x43a782
add edi, 0xfffffffe
mov dword [esp], edi
test al, al
mov ebx, dword [esp]
jns 0x43a575
movzx eax, ax
cmp eax, 0xff
jbe 0x43e342
mov ecx, dword [esp]
movzx eax, word [ecx + 2]
add ecx, 2
mov dword [esp], ecx
test al, al
js 0x43a7bf
mov ebx, dword [esp]
jmp 0x43a575
mov edx, ecx
test dl, dl
mov ebx, dword [esp]
jns 0x43a575
mov edx, ecx
and edx, 0xc0e0
cmp edx, 0x80c0
jne 0x43a82d
mov edx, ecx
and edx, 0x1e
je 0x43a82d
mov eax, dword [esp]
mov ecx, dword [eax + 2]
add eax, 2
mov dword [esp], eax
mov eax, ecx
and eax, 0xc0e0
cmp eax, 0x80c0
jne 0x43a82b
mov eax, ecx
and eax, 0x1e
jne 0x43a80a
mov eax, ecx
mov edx, ecx
and edx, 0xc0c0c0f8
cmp edx, 0x808080f0
jne 0x43a88d
mov edx, ecx
and edx, 0x3007
je 0x43a88d
test cl, 4
je 0x43a854
and ecx, 0x3003
jne 0x43a88d
mov ecx, dword [esp]
add ecx, 4
mov dword [esp], ecx
mov eax, dword [ecx]
mov ecx, eax
and ecx, 0xc0c0c0f8
cmp ecx, 0x808080f0
jne 0x43a88d
mov ecx, eax
and ecx, 0x3007
je 0x43a88d
mov ecx, dword [esp]
add ecx, 4
test al, 4
je 0x43a85a
mov edx, eax
and edx, 0x3003
je 0x43a85a
mov ebx, dword [esp]
cmp edi, ebx
jne 0x43a575
mov dword [esp + 4], edi
mov ecx, 0x1004ad70
jmp 0x43c8ba
mov eax, edi
mov dword [esp + 0x2c], eax
sub eax, esi
mov ecx, eax
sar ecx, 0x1f
shld ecx, eax, 8
mov ebx, dword [esp + 0x30]
mov dword [ebx + 4], ecx
shl eax, 8
or eax, 5
mov dword [ebx], eax
mov dword [ebx + 8], esi
mov eax, dword [esp + 0x2c]
mov byte [eax], 0
add edi, 1
jmp 0x43af3e
cmp byte [esp + 0x18], 0x2d
mov esi, dword [esp + 0x10]
mov edx, dword [esp]
jne 0x43a964
mov eax, 0x80000000
mov ecx, edx
neg ecx
sbb eax, esi
jae 0x43a964
mov eax, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], 0x14
movd xmm0, edx
movd xmm1, esi
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x10042f40]
subpd xmm0, xmmword [0x10042f50]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
xorpd xmm1, xmmword [0x1003eaf0]
movlpd qword [eax + 8], xmm1
jmp 0x43ba94
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 8], edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0xc], 0
jmp 0x43ab7b
xor eax, eax
mov ecx, edx
neg ecx
sbb eax, esi
xor edx, edx
cmp byte [esp + 0x18], 0x2d
sete dl
lea edx, [edx*8 + 4]
mov ebx, esi
mov esi, dword [esp + 0x30]
mov dword [esi], edx
cmovne eax, ebx
cmovne ecx, dword [esp]
mov dword [esi + 4], 0
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
jmp 0x43ba94
add ecx, 0xffffffd0
cmp dword [esp], 0x99999999
mov ebx, dword [esp + 0x10]
sbb ebx, 0x19999999
jb 0x43a9de
mov ebx, 0x19999999
mov dword [esp + 0x1c], eax
mov eax, 0x99999999
xor eax, dword [esp]
xor ebx, dword [esp + 0x10]
or ebx, eax
mov eax, dword [esp + 0x1c]
jne 0x43a3c5
cmp ecx, 5
ja 0x43a3c5
mov edx, 0xa
mov eax, dword [esp]
mul edx
add edi, 1
mov esi, dword [esp + 0x10]
lea esi, [esi + esi*4]
lea edx, [edx + esi*2]
mov esi, ecx
sar esi, 0x1f
add eax, ecx
adc edx, esi
cmp byte [esp + 0x18], 0x2d
jne 0x43aad0
mov ecx, 0x80000000
mov esi, eax
neg esi
sbb ecx, edx
jae 0x43aad0
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
movd xmm0, eax
movd xmm1, edx
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x10042f40]
subpd xmm0, xmmword [0x10042f50]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
xorpd xmm1, xmmword [0x1003eaf0]
movlpd qword [ecx + 8], xmm1
jmp 0x43ba94
mov ecx, edi
mov dword [esp + 0xc], ecx
lea edx, [ecx + 1]
movzx ebx, byte [edx]
movzx ecx, byte [ebx + 0x1003f7a8]
add edx, 1
test cl, 3
jne 0x43aa6e
cmp al, 0x34
mov eax, 0
seta al
add dword [esp], eax
adc dword [esp + 0x10], 0
lea edi, [edx - 1]
cmp dword [esp + 8], 0
jne 0x43ab13
cmp bl, 0x2e
jne 0x43ab0f
movzx eax, byte [edx]
test byte [eax + 0x1003f7a8], 3
mov ebx, dword [esp + 0xc]
je 0x43e332
movzx eax, byte [edx + 1]
add edx, 1
movzx ecx, byte [eax + 0x1003f7a8]
test cl, 3
jne 0x43aab5
mov dword [esp + 8], edi
mov edi, edx
jmp 0x43ab17
xor ecx, ecx
mov esi, eax
neg esi
sbb ecx, edx
mov dword [esp + 0x1c], ecx
xor ebx, ebx
cmp byte [esp + 0x18], 0x2d
sete bl
lea ebx, [ebx*8 + 4]
mov ecx, dword [esp + 0x30]
mov dword [ecx], ebx
mov ebx, dword [esp + 0x1c]
cmovne ebx, edx
cmovne esi, eax
mov dword [ecx + 4], 0
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], ebx
jmp 0x43ba94
mov dword [esp + 8], edi
mov ebx, dword [esp + 0xc]
lea eax, [edi - 1]
jmp 0x43ab1f
add eax, 0xffffffff
movzx edx, byte [eax]
cmp dl, 0x30
je 0x43ab1c
cmp dl, 0x2e
je 0x43ab1c
mov edx, dword [esp + 8]
sub edx, ebx
mov ebx, 0
setb bl
mov dword [esp + 0x20], ebx
mov ebx, edx
sar ebx, 0x1f
add dword [esp + 0x20], edx
adc ebx, 0
mov dword [esp + 0x44], ebx
xor edx, edx
mov ebx, dword [esp + 0xc]
cmp eax, ebx
mov eax, edi
cmovb eax, edx
mov dword [esp + 0x3c], eax
cmovb ebx, edx
mov dword [esp + 0xc], ebx
test cl, 0x20
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
je 0x43ac3a
mov dword [esp + 0x20], ebx
movzx edx, byte [edi + 1]
add edi, 1
mov al, byte [edx + 0x1003f7a8]
and al, 0xc
cmp al, 1
sbb edi, 0xffffffff
movzx eax, byte [edi]
test byte [eax + 0x1003f7a8], 3
je 0x43b61f
cmp al, 0x30
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], edx
jne 0x43abc8
movzx eax, byte [edi + 1]
add edi, 1
cmp eax, 0x30
je 0x43abaf
test byte [eax + 0x1003f7a8], 3
je 0x43af47
mov ebx, eax
xor eax, eax
mov dword [esp + 0x48], edi
xor ecx, ecx
mov dword [esp + 0x1c], edi
mov edi, ebx
sar ebx, 0x1f
mov edx, 0xa
mul edx
add eax, edi
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*2]
adc ecx, ebx
mov edi, dword [esp + 0x1c]
movzx ebx, byte [edi + 1]
add edi, 1
add eax, 0xffffffd0
adc ecx, 0xffffffff
test byte [ebx + 0x1003f7a8], 3
jne 0x43abd2
mov edx, edi
sub edx, dword [esp + 0x48]
cmp edx, 0x13
jge 0x43b632
xor edx, edx
mov ebx, eax
neg ebx
sbb edx, ecx
cmp byte [esp + 0x50], 0x2d
cmovne edx, ecx
cmovne ebx, eax
mov eax, dword [esp + 0x20]
add eax, ebx
mov ebx, eax
mov ecx, dword [esp + 0x44]
adc ecx, edx
mov edx, dword [esp + 0x2c]
mov eax, 0xfffffea8
cmp eax, ebx
mov eax, 0xffffffff
sbb eax, ecx
jge 0x43b58b
cmp ebx, 0x135
sbb ecx, 0
jge 0x43b65f
mov ecx, ebx
mov ebx, 0x200000
mov eax, ecx
mov dword [esp + 0x80], ecx
lea eax, [ecx + 0x16]
cmp eax, 0x2c
ja 0x43acba
cmp dword [esp + 0x10], ebx
jae 0x43acba
movss xmm1, dword [esp]
movss xmm0, dword [esp + 0x10]
unpcklps xmm1, xmm0
unpcklps xmm1, xmmword [0x10042f40]
subpd xmm1, xmmword [0x10042f50]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
test ecx, ecx
js 0x43af0b
mulsd xmm0, qword [ecx*8 + 0x1003f6f0]
jmp 0x43af19
lea eax, [ecx + 0x132]
cmp eax, 0x251
ja 0x43b6a2
cmp dword [esp + 0xc], 0
jne 0x43b6a2
imul eax, ecx, 0x3526a
shl ecx, 4
mov dword [esp + 0x20], ecx
add eax, 0xffc10000
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x10]
bsr eax, ebx
xor eax, 0x1f
mov edx, dword [esp]
bsr ecx, edx
xor ecx, 0x1f
add ecx, 0x20
test ebx, ebx
cmovne ecx, eax
mov eax, ebx
shld eax, edx, cl
mov ebx, edx
shl ebx, cl
mov dword [esp + 0x50], ecx
test cl, 0x20
cmovne eax, ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], 0
mov eax, 0
cmovne ebx, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x10040e18]
mov dword [esp + 0x54], eax
mul ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], edx
mov eax, dword [ecx + 0x10040e1c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], ebx
mul ebx
mov dword [esp + 0x5c], edx
mov ecx, eax
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x44]
mul ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
mul ebx
add ecx, dword [esp + 0x60]
adc eax, dword [esp + 0x5c]
adc edx, 0
add ecx, dword [esp + 0x58]
mov dword [esp + 0x60], ecx
adc eax, dword [esp + 0x4c]
adc edx, 0
mov dword [esp + 0x4c], eax
and eax, 0x1ff
add eax, 0xffffffff
mov ecx, 0
adc ecx, 0xffffffff
cmp eax, 0x1fe
sbb ecx, 0
jae 0x43adb5
mov esi, dword [esp + 0x4c]
jmp 0x43ae79
mov dword [esp + 0x94], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x10040e20]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x34]
mul ebx
mov dword [esp + 0x58], edx
mov eax, dword [ecx + 0x10040e24]
mov dword [esp + 0x5c], eax
mul ebx
mov ecx, edx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x44]
mul ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x5c]
mul ebx
mov ebx, dword [esp + 0x90]
add ebx, dword [esp + 0x58]
adc ecx, 0
add ebx, dword [esp + 0x70]
mov ebx, dword [esp + 0x20]
adc ebx, 0
add ecx, eax
adc edx, 0
add ecx, ebx
adc edx, 0
mov ebx, ecx
add ebx, dword [esp + 0x68]
mov dword [esp + 0x20], edx
adc edx, dword [esp + 0x60]
mov dword [esp + 0x58], ebx
add ebx, 1
mov eax, edx
adc eax, 0
cmp ebx, 2
sbb eax, 0
jb 0x43b721
mov esi, dword [esp + 0x58]
cmp esi, dword [esp + 0x68]
mov eax, edx
sbb eax, dword [esp + 0x60]
setb al
cmp esi, ecx
sbb edx, dword [esp + 0x20]
setb cl
or cl, al
movzx eax, cl
mov esi, dword [esp + 0x4c]
add esi, eax
mov edx, dword [esp + 0x94]
adc edx, 0
mov ebx, dword [esp + 0x48]
shr ebx, 0x10
mov ecx, edx
not ecx
shr ecx, 0x1f
shld edx, esi, cl
shl esi, cl
mov eax, esi
and eax, 0x400
add eax, esi
adc edx, 0
sub ebx, dword [esp + 0x50]
sub ebx, ecx
cmp eax, 0x400
mov ecx, edx
sbb ecx, 0
setb cl
mov byte [esp + 0x1c], cl
adc ebx, 0
mov esi, edx
shr edx, 0xb
and edx, 0xfffff
test cl, cl
mov ecx, 0
cmovne edx, ecx
xor ecx, ecx
shld esi, eax, 0x15
cmp byte [esp + 0x1c], 0
cmovne esi, ecx
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
shl eax, 0x1f
or eax, edx
shl ebx, 0x14
add ebx, 0x47e00000
or eax, ebx
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
jmp 0x43ba94
shl ecx, 3
mov eax, 0x1003f6f0
sub eax, ecx
divsd xmm0, qword [eax]
mov eax, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], 0x14
cmp byte [esp + 0x18], 0x2d
jne 0x43af39
xorpd xmm0, xmmword [0x1003eaf0]
movsd qword [eax + 8], xmm0
mov dword [esp + 4], edi
jmp 0x43e145
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x48], edi
jmp 0x43ac06
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x30]
add eax, 0x10
mov edi, eax
cmp eax, dword [esp + 0x40]
jae 0x43d29e
add dword [esp + 0x24], 1
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
mov cl, byte [esi + 1]
or cl, 0x20
cmp cl, 0x61
jne 0x431348
mov cl, byte [esi + 2]
or cl, 0x20
cmp cl, 0x6e
jne 0x431348
mov edx, 0x7ff80000
xor ebx, ebx
add esi, 3
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
add ecx, 8
mov edi, esi
mov dword [ecx], ebx
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
mov edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
jmp 0x43e145
mov ecx, dword [esp + 0x28]
mov eax, ecx
shr eax, 1
add ecx, eax
mov dword [esp + 0x28], ecx
cmp ecx, 0xffffffe
ja 0x43124b
mov esi, dword [esp + 0x28]
shl esi, 4
push esi
push dword [esp + 0x30]
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x43124b
mov ecx, dword [esp + 0x2c]
sub edi, ecx
add edi, eax
mov dword [esp + 0x30], edi
sub ebx, ecx
add ebx, eax
lea ecx, [esi + eax]
add ecx, 0xffffffe0
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 4]
mov edx, eax
jmp 0x43a115
cmp al, 0x30
jne 0x43d3c3
movzx eax, byte [edi + 1]
add edi, 1
mov cl, byte [eax + 0x1003f7a8]
test cl, 0x33
jne 0x43d3e3
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
lea eax, [eax*8 + 4]
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
jmp 0x43ba94
mov dword [esp], eax
mov dword [esp + 0x1c], edi
lea eax, [edi + 1]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
jne 0x43d424
mov edx, dword [esp]
mov eax, edx
sar eax, 0x1f
xor ecx, ecx
neg edx
sbb ecx, eax
xor ebx, ebx
cmp byte [esp + 0x18], 0x2d
sete bl
lea esi, [ebx*8 + 4]
mov edi, dword [esp + 0x30]
mov dword [edi], esi
cmovne ecx, eax
cmovne edx, dword [esp]
mov dword [edi + 4], 0
mov dword [edi + 8], edx
mov dword [edi + 0xc], ecx
mov edi, dword [esp + 8]
jmp 0x43ba94
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 2]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d46b
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 3]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d49f
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 4]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d4d3
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 5]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d507
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 6]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d53b
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 7]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d56f
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 8]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d5a3
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 9]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d5d7
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 0xa]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d60b
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 0xb]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d63f
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 0xc]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d673
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 0xd]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d6a7
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 0xe]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d6db
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 0xf]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d70f
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 0x10]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d743
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 0x11]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x43b3ce
cmp dl, 0x2e
je 0x43d777
jmp 0x43d863
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
lea eax, [edi + 0x12]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
jne 0x43d85a
xor eax, eax
mov ebx, dword [esp]
mov ecx, ebx
neg ecx
mov edi, dword [esp + 0x10]
sbb eax, edi
xor edx, edx
cmp byte [esp + 0x18], 0x2d
sete dl
lea edx, [edx*8 + 4]
mov esi, dword [esp + 0x30]
mov dword [esi], edx
cmovne eax, edi
cmovne ecx, ebx
mov dword [esi + 4], 0
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
mov edi, dword [esp + 8]
jmp 0x43ba94
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
shl eax, 0x1f
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], 0
jmp 0x43af3e
mov ecx, dword [esp + 0x28]
mov eax, ecx
shr eax, 1
add ecx, eax
mov dword [esp + 0x28], ecx
cmp ecx, 0xffffffe
ja 0x43124b
mov esi, dword [esp + 0x28]
shl esi, 4
push esi
push dword [esp + 0x30]
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x43124b
mov ecx, dword [esp + 0x2c]
sub edi, ecx
add edi, eax
mov dword [esp + 0x30], edi
sub ebx, ecx
add ebx, eax
mov dword [esp + 0x14], ebx
lea ecx, [esi + eax]
add ecx, 0xffffffe0
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 4]
mov dword [esp + 0x2c], eax
jmp 0x43a568
add edi, 0xffffffff
mov dword [esp + 4], edi
mov eax, 0x1004ac20
mov esi, edi
jmp 0x43fa95
cmp byte [esp + 0x50], 0x2d
jne 0x43b65f
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
shl eax, 0x1f
mov dword [ecx + 0xc], eax
jmp 0x43b082
mov eax, 0x1004ae7c
mov ecx, dword [ebp + 0x10]
test cl, 0x10
je 0x43fa95
cmp byte [esp + 0x18], 0x2d
mov edx, dword [esp + 0x30]
mov dword [edx + 4], 0
mov eax, 0xfff00000
mov ecx, 0x7ff00000
cmove ecx, eax
mov dword [edx], 0x14
mov dword [edx + 0xc], ecx
mov dword [edx + 8], 0
jmp 0x43ba94
mov eax, dword [esp + 0x10]
mov ebx, ecx
mov dword [esp + 0x10], eax
bsr eax, eax
xor eax, 0x1f
mov edx, dword [esp]
bsr ecx, edx
xor ecx, 0x1f
add ecx, 0x20
cmp dword [esp + 0x10], 0
cmovne ecx, eax
mov eax, dword [esp + 0x10]
shld eax, edx, cl
shl edx, cl
mov dword [esp + 0x50], ecx
test cl, 0x20
cmovne eax, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], 0
mov eax, 0
cmovne edx, eax
mov dword [esp + 0x34], edx
imul eax, ebx, 0x3526a
shl ebx, 4
add eax, 0xffc10000
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x10040e1c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10040e18]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 0x10040e24]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 0
xor eax, eax
cmp dword [esp + 0xc], 0
setne al
shl eax, 2
xor ebx, ebx
mov ecx, dword [esp + 0x50]
shld ebx, eax, cl
shl eax, cl
xor edx, edx
test cl, 0x20
cmovne ebx, eax
mov dword [esp + 0x4c], ebx
cmovne eax, edx
mov dword [esp + 0x20], eax
sar dword [esp + 0x48], 0x10
mov ebx, dword [esp + 0x5c]
shr ebx, 0x1f
add ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x1c]
adc ecx, 0
mov eax, ebx
imul eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov eax, ebx
mul dword [esp + 0x34]
add edx, dword [esp + 0x1c]
mov dword [esp + 0x5c], edx
mov eax, ecx
mul dword [esp + 0x34]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x38]
imul eax, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], ebx
mov eax, ebx
mul dword [esp + 0x44]
mov dword [esp + 0x68], eax
mov dword [esp + 0x58], edx
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x54]
imul eax, ebx
mov dword [esp + 0x54], eax
mov eax, ecx
mul dword [esp + 0x44]
mov dword [esp + 0x44], eax
imul ebx, ecx
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x34]
adc ecx, dword [esp + 0x38]
add eax, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
adc eax, dword [esp + 0x54]
add ecx, dword [esp + 0x44]
adc edx, ebx
add ecx, eax
adc edx, 0
mov eax, dword [esp + 0x1c]
shr eax, 0x1f
add eax, ecx
mov dword [esp + 0x1c], eax
adc edx, 0
xor eax, eax
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x4c]
or ecx, ebx
sete al
mov ecx, dword [esp + 0x20]
sub ecx, eax
sbb ebx, 0
add ecx, 9
mov dword [esp + 0x20], ecx
adc ebx, 0
bsr eax, edx
xor eax, 0x1f
bsr ecx, dword [esp + 0x1c]
xor ecx, 0x1f
add ecx, 0x20
test edx, edx
cmovne ecx, eax
mov eax, dword [esp + 0x1c]
shld edx, eax, cl
mov dword [esp + 0x44], edx
shl eax, cl
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x20]
shld ebx, edx, cl
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x50]
shl edx, cl
mov dword [esp + 0x20], edx
sub eax, ecx
mov edx, eax
test cl, 0x20
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
cmovne ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
cmovne ebx, eax
mov dword [esp + 0x4c], ebx
cmovne eax, ecx
mov dword [esp + 0x20], eax
mov eax, 0xfffffb8e
sub eax, edx
lea ebx, [edx + 0x40]
cmp ebx, 0xfffffb8f
mov ecx, 0x40
cmovge ecx, eax
mov edx, 0xb
mov eax, ebx
mov dword [esp + 0x54], ebx
cmp ebx, 0xfffffbc2
jle 0x43bab1
cmp edx, 0x3d
jge 0x43babc
mov eax, edx
mov edx, dword [esp + 0x44]
mov ecx, eax
shr edx, cl
mov dword [esp + 0x50], edx
xor ebx, ebx
test al, 0x20
mov ecx, edx
cmovne ecx, ebx
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x1c]
mov ecx, eax
mov ebx, dword [esp + 0x44]
shrd edx, ebx, cl
test al, 0x20
cmovne edx, dword [esp + 0x50]
mov dword [esp + 0x38], edx
mov ebx, 0xffffffff
shl ebx, cl
test al, 0x20
mov ecx, 0xffffffff
mov edx, ebx
cmove ebx, ecx
mov ecx, 0
cmovne edx, ecx
not edx
and edx, dword [esp + 0x1c]
not ebx
and ebx, dword [esp + 0x44]
shld ebx, edx, 3
shl edx, 3
mov dword [esp + 0x50], eax
mov ecx, eax
add cl, 0xff
mov eax, 8
mov dword [esp + 0x1c], 0
shld dword [esp + 0x1c], eax, cl
shl eax, cl
test cl, 0x20
mov ecx, dword [esp + 0x1c]
cmovne ecx, eax
mov dword [esp + 0x1c], ecx
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x48], eax
mov ecx, eax
add ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
adc eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], ecx
cmp edx, ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x60], ebx
mov ecx, ebx
mov dword [esp + 0x68], eax
sbb ecx, eax
setae cl
movzx ebx, cl
add ebx, dword [esp + 0x38]
adc edx, 0
mov ecx, ebx
or ecx, edx
je 0x43bdc4
mov eax, dword [esp + 0x50]
add eax, dword [esp + 0x54]
mov dword [esp + 0x50], eax
bsr ecx, edx
xor ecx, 0x1f
mov eax, ecx
bsr ecx, ebx
xor ecx, 0x1f
add ecx, 0x20
test edx, edx
cmovne ecx, eax
shld edx, ebx, cl
shl ebx, cl
mov dword [esp + 0x44], 0
test cl, 0x20
cmovne edx, ebx
mov eax, dword [esp + 0x44]
cmove eax, ebx
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x50]
sub ebx, ecx
mov ecx, dword [esp + 0x44]
cmp ebx, 0x3c0
jg 0x43baa1
shrd ecx, edx, 0xb
shr edx, 0xb
cmp ebx, 0xfffffbc2
jle 0x43bd96
shl ebx, 0x14
and edx, 0xfffff
lea eax, [ebx + edx]
add eax, 0x43e00000
mov dword [esp + 0x50], eax
xor eax, 0x7ff00000
or eax, ecx
mov ebx, dword [esp + 0x1c]
je 0x43baa1
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x20]
mov dword [esp + 0x48], eax
sbb ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
cmp ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov eax, edx
sbb eax, dword [esp + 0x68]
jae 0x43ba66
cmp dword [esp + 0x48], ecx
sbb ebx, edx
jb 0x43bb2b
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
shl eax, 0x1f
mov edx, dword [esp + 0x50]
or edx, eax
mov eax, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], 0x14
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x2c]
jmp 0x43e145
mov eax, dword [ebp + 0x10]
test al, 0x10
je 0x441156
jmp 0x43b670
mov edx, ecx
cmp edx, 0x3d
jl 0x43b8d0
lea ecx, [edx - 0x3c]
mov eax, dword [esp + 0x44]
shrd dword [esp + 0x1c], eax, cl
shr dword [esp + 0x44], cl
mov eax, dword [esp + 0x20]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x4c]
shrd eax, ebx, cl
shr ebx, cl
test cl, 0x20
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
lea ecx, [edx + ecx - 0x3c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x1c]
cmovne ecx, dword [esp + 0x44]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x44]
mov edx, 0
cmovne ecx, edx
mov dword [esp + 0x44], ecx
cmovne eax, ebx
cmovne ebx, edx
add eax, 9
mov dword [esp + 0x20], eax
adc ebx, 0
mov dword [esp + 0x4c], ebx
mov eax, 0x3c
jmp 0x43b8d2
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x50]
mov eax, ecx
and eax, 0x7ff00000
mov edi, dword [esp + 0x44]
shld ecx, edi, 1
mov ebx, 0x200000
lea edx, [ebx - 1]
and edx, ecx
mov ecx, eax
shr ecx, 0x14
add ecx, 0xfffffbcc
or ebx, edx
test eax, eax
mov eax, 0xfffffbcd
cmovne eax, ecx
mov dword [esp + 0x5c], eax
cmove ebx, edx
lea edi, [edi + edi + 1]
lea eax, [esp + 0x80]
lea ecx, [esp + 0xb0]
mov edx, dword [esp]
push dword [esp + 8]
push dword [esp + 0x40]
push dword [esp + 0x14]
push eax
push dword [esp + 0x20]
call fcn.0044a41e
add esp, 0x14
mov dword [esp + 0x2b8], 1
mov dword [esp + 0x2c0], edi
mov dword [esp + 0x2c4], ebx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x60], eax
test eax, eax
js 0x43bdd7
cmp dword [esp + 0x60], 0x13
jge 0x43bc1e
mov eax, dword [esp + 0x60]
test eax, eax
je 0x43c8f3
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
xor ebx, ebx
test ecx, ecx
je 0x43bfb2
mov ecx, dword [esp + ebx*8 + 0xb8]
or ecx, dword [esp + ebx*8 + 0xbc]
jne 0x43bfb2
add ebx, 1
cmp dword [esp + 0x48], ebx
jne 0x43bbec
jmp 0x43c8f3
mov ecx, dword [esp + 0x60]
lea eax, [ecx - 0x13]
cmp ecx, 0x25
mov dword [esp + 0x60], eax
jle 0x43bbcf
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x54], eax
xor ebx, ebx
test eax, eax
je 0x43bc4a
mov eax, dword [esp + ebx*8 + 0xb8]
or eax, dword [esp + ebx*8 + 0xbc]
jne 0x43bc4a
add ebx, 1
cmp dword [esp + 0x54], ebx
jne 0x43bc2f
jmp 0x43bc0e
cmp ebx, dword [esp + 0x54]
jae 0x43bc0e
mov dword [esp + 8], 0
mov dword [esp + 0x48], 0
mov ecx, dword [esp + ebx*8 + 0xb8]
mov eax, ecx
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], edx
xor eax, eax
mov edi, 0x89e80000
add edi, 0xdf2304
mov dword [esp + 0x4c], edi
setb al
mov dword [esp + 0x20], eax
mov dword [esp], ecx
mov eax, ecx
mul edi
mov ecx, eax
mov edi, edx
mov eax, dword [esp + ebx*8 + 0xbc]
mov dword [esp + 0xc], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
mov eax, dword [esp]
imul eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0xc]
mul dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0xc]
add ecx, dword [esp + 0x3c]
adc edi, dword [esp]
add ecx, dword [esp + 0x34]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x38]
adc ecx, 0
add edi, dword [esp + 0x4c]
adc edx, eax
add edi, ecx
adc edx, 0
mov dword [esp], edx
mov eax, dword [esp + 0x10]
and eax, 0xfff80000
mov ecx, dword [esp + 8]
add eax, ecx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
adc eax, edx
setb byte [esp + 0x20]
cmp dword [esp + 0x10], ecx
mov ecx, eax
sbb ecx, edx
mov dword [esp + ebx*8 + 0xbc], eax
setb cl
or cl, byte [esp + 0x20]
movzx eax, cl
add eax, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + ebx*8 + 0xb8], eax
mov edx, dword [esp]
adc edx, 0
mov dword [esp + 0x48], edx
add ebx, 1
cmp dword [esp + 0x54], ebx
jne 0x43bc60
mov eax, dword [esp + 8]
or eax, dword [esp + 0x48]
je 0x43bc0e
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 1]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + eax*8 + 0xbc], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0xb8], ecx
jmp 0x43bc0e
mov dword [esp + 0x44], ecx
cmp ebx, 0xfffffb8f
jl 0x43bdc4
mov eax, ebx
mov cl, 0xc3
sub cl, al
mov eax, dword [esp + 0x44]
shrd eax, edx, cl
shr edx, cl
xor ebx, ebx
test cl, 0x20
mov ecx, eax
cmovne ecx, edx
cmove ebx, edx
mov dword [esp + 0x50], ebx
jmp 0x43bdce
xor ecx, ecx
mov dword [esp + 0x50], 0
mov ebx, dword [esp + 0x1c]
jmp 0x43ba32
mov eax, dword [esp + 0x60]
mov ecx, eax
neg ecx
mov dword [esp + 0x58], ecx
mov dword [esp], 1
cmp eax, 0xffffffed
jg 0x43c782
mov dword [esp + 8], 1
cmp dword [esp + 8], 0
jne 0x43be1a
jmp 0x43be3a
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 8], ecx
mov dword [esp + 0x58], eax
cmp dword [esp + 8], 0
je 0x43be3a
xor ebx, ebx
mov eax, dword [esp + ebx*8 + 0x2c0]
or eax, dword [esp + ebx*8 + 0x2c4]
jne 0x43be3c
add ebx, 1
cmp dword [esp + 8], ebx
jne 0x43be1c
jmp 0x43bf83
xor ebx, ebx
cmp ebx, dword [esp + 8]
jae 0x43bf83
mov dword [esp + 0x48], 0
mov dword [esp + 0x54], 0
mov ecx, dword [esp + ebx*8 + 0x2c0]
mov eax, ecx
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], edx
xor eax, eax
mov edi, 0x89e80000
add edi, 0xdf2304
mov dword [esp + 0x4c], edi
setb al
mov dword [esp + 0x20], eax
mov dword [esp], ecx
mov eax, ecx
mul edi
mov ecx, eax
mov edi, edx
mov eax, dword [esp + ebx*8 + 0x2c4]
mov dword [esp + 0xc], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
mov eax, dword [esp]
imul eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0xc]
mul dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0xc]
add ecx, dword [esp + 0x3c]
adc edi, dword [esp]
add ecx, dword [esp + 0x34]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x38]
adc ecx, 0
add edi, dword [esp + 0x4c]
adc edx, eax
add edi, ecx
adc edx, 0
mov dword [esp], edx
mov eax, dword [esp + 0x10]
and eax, 0xfff80000
mov ecx, dword [esp + 0x48]
add eax, ecx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
adc eax, edx
setb byte [esp + 0x20]
cmp dword [esp + 0x10], ecx
mov ecx, eax
sbb ecx, edx
mov dword [esp + ebx*8 + 0x2c4], eax
setb cl
or cl, byte [esp + 0x20]
movzx eax, cl
add eax, edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
mov dword [esp + ebx*8 + 0x2c0], eax
mov edx, dword [esp]
adc edx, 0
mov dword [esp + 0x54], edx
add ebx, 1
cmp dword [esp + 8], ebx
jne 0x43be56
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x54]
je 0x43bf83
mov eax, dword [esp + 0x2b8]
lea ecx, [eax + 1]
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + eax*8 + 0x2c4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + eax*8 + 0x2c0], ecx
mov ecx, dword [esp + 0x58]
lea eax, [ecx - 0x13]
cmp ecx, 0x26
jge 0x43be04
test eax, eax
je 0x43c8f3
mov ecx, dword [esp + 0x2b8]
mov dword [esp], ecx
test ecx, ecx
jne 0x43c786
jmp 0x43c8f3
cmp ebx, dword [esp + 0x48]
jae 0x43c8f3
mov ecx, dword [eax*8 + 0x1004226c]
mov dword [esp + 0x60], ecx
mov eax, dword [eax*8 + 0x10042268]
mov dword [esp + 0x54], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + ebx*8 + 0xb8]
mov eax, ecx
mul dword [esp + 0x54]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x10], eax
mov eax, ecx
mov ecx, dword [esp + 0x60]
mul ecx
mov dword [esp + 0x34], eax
mov dword [esp], edx
mov edi, dword [esp + ebx*8 + 0xbc]
mov eax, edi
mul dword [esp + 0x54]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
mov eax, edi
mul ecx
mov dword [esp + 0x20], edx
mov edi, dword [esp + 0x34]
add edi, dword [esp + 0x4c]
mov ecx, dword [esp]
adc ecx, 0
add edi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
adc edx, 0
add ecx, eax
mov eax, dword [esp + 0x20]
adc eax, 0
add ecx, edx
mov dword [esp], ecx
adc eax, 0
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 8]
adc edi, edx
setb byte [esp + 0x3c]
cmp eax, ecx
mov ecx, edi
sbb ecx, edx
mov dword [esp + ebx*8 + 0xbc], edi
setb cl
or cl, byte [esp + 0x3c]
movzx eax, cl
add eax, dword [esp]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + ebx*8 + 0xb8], eax
mov edx, dword [esp + 0x20]
adc edx, 0
mov dword [esp + 8], edx
add ebx, 1
cmp dword [esp + 0x48], ebx
jne 0x43bfe2
mov eax, dword [esp + 0xc]
or eax, dword [esp + 8]
je 0x43c8f3
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 1]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0xbc], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + eax*8 + 0xb8], ecx
jmp 0x43c8f3
mov ebx, edi
cmp al, 0x5c
jne 0x43d9aa
mov al, byte [edi + 1]
add al, 0xde
cmp al, 0x53
ja 0x43d89d
movzx eax, al
jmp dword [eax*4 + 0x10043444]
mov eax, dword [esp + 0x58]
mov ecx, dword [eax*8 + 0x1004226c]
mov dword [esp + 0x60], ecx
mov eax, dword [eax*8 + 0x10042268]
mov dword [esp + 0x20], eax
xor ecx, ecx
mov ebx, dword [esp + ecx*8 + 0x2c0]
mov edx, dword [esp + ecx*8 + 0x2c4]
mov eax, ebx
or eax, edx
jne 0x43c7bf
add ecx, 1
cmp dword [esp], ecx
jne 0x43c79e
jmp 0x43c8f3
cmp ecx, dword [esp]
jae 0x43c8f3
mov edi, edx
add ecx, 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, ebx
mul dword [esp + 0x20]
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], eax
mov eax, ebx
mov ebx, dword [esp + 0x60]
mul ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x4c], eax
mov eax, edi
mul dword [esp + 0x20]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
mov eax, edi
mul ebx
mov dword [esp + 0x34], eax
mov edi, edx
mov edx, dword [esp + 0x4c]
add edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x10]
adc ebx, 0
add edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
adc eax, 0
add ebx, dword [esp + 0x34]
adc edi, 0
add ebx, eax
mov dword [esp + 0x10], ebx
adc edi, 0
mov dword [esp + 0x54], edi
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x48]
add edi, ebx
mov eax, dword [esp + 8]
adc edx, eax
setb byte [esp + 0x48]
cmp edi, ebx
mov ebx, edx
sbb ebx, eax
mov dword [esp + ecx*8 + 0x2bc], edx
setb ah
or ah, byte [esp + 0x48]
movzx eax, ah
add eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + ecx*8 + 0x2b8], edi
mov edx, dword [esp + 0x54]
adc edx, 0
mov dword [esp + 8], edx
cmp dword [esp], ecx
je 0x43c8c2
mov ebx, dword [esp + ecx*8 + 0x2c0]
mov edi, dword [esp + ecx*8 + 0x2c4]
add ecx, 1
jmp 0x43c7dd
add edi, 0xfffffffe
mov dword [esp], edi
mov dword [esp + 4], edi
jmp 0x43e349
mov dword [esp + 4], edi
mov ecx, 0x1004ad28
mov dword [esp], edi
jmp 0x440d0d
mov eax, dword [esp + 0xc]
or eax, dword [esp + 8]
je 0x43c8f3
mov eax, dword [esp + 0x2b8]
lea ecx, [eax + 1]
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0x2c4], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + eax*8 + 0x2c0], ecx
cmp dword [esp + 0x5c], 0
jle 0x43c9cf
mov eax, dword [esp + 0x5c]
mov ecx, eax
shr ecx, 6
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 0x10], ecx
and eax, 0x3f
mov dword [esp + 0x5c], eax
je 0x43d8fe
mov eax, dword [esp + 0x10]
mov dword [esp + eax*8 + 0x2c4], 0
mov dword [esp + eax*8 + 0x2c0], 0
test eax, eax
je 0x43cdbc
mov ecx, 0x40
sub ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + edi*8 + 0x2b8]
mov edx, dword [esp + edi*8 + 0x2bc]
mov ebx, edx
shr ebx, cl
shrd eax, edx, cl
xor edx, edx
mov dword [esp + 0x20], ecx
test cl, 0x20
cmovne eax, ebx
cmove edx, ebx
mov ecx, dword [esp + 0x38]
add ecx, edi
mov dword [esp + ecx*8 + 0x2c0], eax
mov dword [esp], ecx
mov dword [esp + ecx*8 + 0x2c4], edx
cmp edi, 1
je 0x43cdbc
mov eax, dword [esp + 0x10]
lea ecx, [eax - 1]
mov dword [esp + 0xc], ecx
lea ecx, [esp + eax*8]
add ecx, 0x2b8
cmp eax, 2
jne 0x43caa2
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
jne 0x43cbff
mov edx, dword [esp + 0x10]
jmp 0x43cc79
mov eax, dword [esp + 0x5c]
neg eax
mov ecx, eax
shr ecx, 6
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x10], ecx
and eax, 0x3f
mov dword [esp + 0x5c], eax
je 0x43d954
mov eax, dword [esp + 0x10]
mov dword [esp + eax*8 + 0xbc], 0
mov dword [esp + eax*8 + 0xb8], 0
test eax, eax
je 0x43d14b
mov ecx, 0x40
sub ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + edi*8 + 0xb0]
mov edx, dword [esp + edi*8 + 0xb4]
mov ebx, edx
shr ebx, cl
shrd eax, edx, cl
xor edx, edx
mov dword [esp + 0x20], ecx
test cl, 0x20
cmovne eax, ebx
cmove edx, ebx
mov ecx, dword [esp + 0x38]
add ecx, edi
mov dword [esp + ecx*8 + 0xb8], eax
mov dword [esp], ecx
mov dword [esp + ecx*8 + 0xbc], edx
cmp edi, 1
je 0x43d14b
mov eax, dword [esp + 0x10]
lea ecx, [eax - 1]
mov dword [esp + 0xc], ecx
lea ecx, [esp + eax*8]
add ecx, 0xb0
cmp eax, 2
jne 0x43ce35
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
jne 0x43cf8e
mov edx, dword [esp + 0x10]
jmp 0x43d008
mov eax, dword [esp + 0x10]
add eax, 0xfffffffe
mov edx, 8
mul edx
mov edx, eax
mov eax, dword [esp]
lea edi, [esp + eax*8 + 0x2b8]
seto bl
mov eax, edx
mov dword [esp + 8], edx
cmp edx, edi
ja 0x43c9b3
test bl, bl
jne 0x43c9b3
mov eax, dword [esp + 0x10]
lea eax, [esp + eax*8]
add eax, 0x2b8
cmp dword [esp + 8], eax
ja 0x43c9b3
test bl, bl
jne 0x43c9b3
mov edx, dword [esp + 0x10]
lea edx, [esp + edx*8]
add edx, 0x2b0
cmp dword [esp + 8], edx
ja 0x43c9b3
test bl, bl
jne 0x43c9b3
mov edx, dword [esp + 0x38]
lea edx, [esp + edx*8]
add edx, 0x2c8
mov ebx, dword [esp]
lea edi, [esp + ebx*8]
add edi, 0x2c0
mov ebx, dword [esp + 0x10]
lea ebx, [esp + ebx*8]
add ebx, 0x2c0
cmp edx, ebx
setb byte [esp + 0x10]
lea ebx, [esp + 0x2c8]
cmp edi, ebx
seta bh
cmp edx, eax
setb dl
lea eax, [esp + 0x2c0]
cmp edi, eax
seta dh
test byte [esp + 0x10], bh
jne 0x43c9b3
and dl, dh
jne 0x43c9b3
mov ebx, dword [esp]
shl ebx, 3
mov edx, dword [esp + 0xc]
and edx, 0xfffffffe
mov edi, edx
neg edi
mov dword [esp], edx
lea eax, [edx*8]
sub ecx, eax
lea eax, [esp + 0x2b8]
add ebx, eax
add ebx, 0xfffffff8
mov edx, dword [esp + 0xc]
and edx, 1
mov dword [esp + 0x10], edx
movd xmm0, dword [esp + 0x5c]
movd xmm1, dword [esp + 0x20]
mov eax, dword [esp + 8]
add eax, esp
add eax, 0x2b8
xor edx, edx
movdqu xmm2, xmmword [eax + edx*8]
movdqu xmm3, xmmword [eax + edx*8 + 8]
pshufd xmm3, xmm3, 0x4e
psllq xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
psrlq xmm2, xmm1
por xmm2, xmm3
pshufd xmm2, xmm2, 0x4e
movdqu xmmword [ebx + edx*8], xmm2
add edx, 0xfffffffe
cmp edi, edx
jne 0x43cbbb
mov eax, dword [esp]
cmp dword [esp + 0xc], eax
jne 0x43c9bb
jmp 0x43cdbc
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
mov eax, edx
mov ecx, dword [esp + 0x5c]
shl eax, cl
shld edi, edx, cl
xor edx, edx
test cl, 0x20
cmovne edi, eax
mov dword [esp + 8], edi
cmovne eax, edx
mov dword [esp], eax
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + ebx*8 + 0x2bc]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x20]
shr edx, cl
mov eax, dword [esp + ebx*8 + 0x2b8]
mov edi, dword [esp + 0xc]
shrd eax, edi, cl
test cl, 0x20
cmovne eax, edx
mov ecx, 0
cmovne edx, ecx
or edx, dword [esp + 8]
or eax, dword [esp]
mov ecx, dword [esp + 0x38]
add ecx, ebx
mov dword [esp + ecx*8 + 0x2c0], eax
mov dword [esp + ecx*8 + 0x2c4], edx
lea edx, [ebx - 1]
lea ecx, [esp + ebx*8]
add ecx, 0x2b8
cmp dword [esp + 0x10], 1
je 0x43cdbc
mov eax, dword [esp + 0x38]
lea eax, [esp + eax*8]
add eax, 0x2c0
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x5c]
shl eax, cl
mov dword [esp + 0x48], eax
test cl, 0x20
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x54], eax
mov ebx, dword [esp + edx*8 + 0x2bc]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x20]
mov ecx, eax
shr ebx, cl
mov edx, dword [esp + edx*8 + 0x2b8]
mov edi, dword [esp + 0x3c]
shrd edx, edi, cl
test al, 0x20
cmovne edx, ebx
mov eax, 0
cmovne ebx, eax
or edx, dword [esp + 0x54]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov ecx, dword [esp]
mov edi, dword [esp + 0x10]
mov dword [ecx + edi*8], edx
mov edx, dword [esp + edi*8 + 0x2b8]
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x5c]
shl edx, cl
mov dword [esp + 0x54], edx
test cl, 0x20
mov edi, 0
cmovne edx, edi
mov dword [esp + 0xc], edx
mov edx, dword [esp + 8]
shld eax, edx, cl
test cl, 0x20
mov edi, ecx
cmovne eax, dword [esp + 0x48]
or eax, ebx
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + ecx*8 + 0x2b0]
mov edx, dword [esp]
mov dword [edx + ecx*8 + 4], eax
mov edx, dword [esp + ecx*8 + 0x2bc]
mov eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x3c]
shld edx, edi, cl
test cl, 0x20
cmovne edx, dword [esp + 0x54]
mov dword [esp + 8], edx
mov eax, dword [esp + eax*8 + 0x2b4]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x20]
shr eax, cl
test cl, 0x20
mov edx, eax
mov edi, 0
cmovne edx, edi
mov edi, dword [esp + 0x48]
shrd ebx, edi, cl
test cl, 0x20
cmovne ebx, eax
or edx, dword [esp + 8]
or ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp]
mov dword [ecx + eax*8 - 8], ebx
mov dword [ecx + eax*8 - 4], edx
lea ecx, [esp + eax*8]
add ecx, 0x2b0
add eax, 0xfffffffe
test eax, eax
mov edx, eax
jne 0x43cc93
mov eax, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2c4]
mov ebx, eax
mov ecx, dword [esp + 0x5c]
shl ebx, cl
shld edx, eax, cl
xor eax, eax
test cl, 0x20
cmovne edx, ebx
cmove eax, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + ebx*8 + 0x2c0], eax
mov dword [esp + ebx*8 + 0x2c4], edx
mov eax, dword [esp + 0x2b8]
add eax, ebx
mov ecx, dword [esp + eax*8 + 0x2c0]
xor edx, edx
or ecx, dword [esp + eax*8 + 0x2c4]
setne dl
add edx, eax
mov dword [esp + 0x2b8], edx
test ebx, ebx
je 0x43d1c4
mov eax, dword [esp + 0x38]
shl eax, 3
push eax
push 0
lea eax, [esp + 0x2c8]
jmp 0x43d1bb
mov eax, dword [esp + 0x10]
add eax, 0xfffffffe
mov edx, 8
mul edx
mov edx, eax
mov eax, dword [esp]
lea edi, [esp + eax*8 + 0xb0]
seto bl
mov eax, edx
mov dword [esp + 8], edx
cmp edx, edi
ja 0x43ca86
test bl, bl
jne 0x43ca86
mov eax, dword [esp + 0x10]
lea eax, [esp + eax*8]
add eax, 0xb0
cmp dword [esp + 8], eax
ja 0x43ca86
test bl, bl
jne 0x43ca86
mov edx, dword [esp + 0x10]
lea edx, [esp + edx*8]
add edx, 0xa8
cmp dword [esp + 8], edx
ja 0x43ca86
test bl, bl
jne 0x43ca86
mov edx, dword [esp + 0x38]
lea edx, [esp + edx*8]
add edx, 0xc0
mov ebx, dword [esp]
lea edi, [esp + ebx*8]
add edi, 0xb8
mov ebx, dword [esp + 0x10]
lea ebx, [esp + ebx*8]
add ebx, 0xb8
cmp edx, ebx
setb byte [esp + 0x10]
lea ebx, [esp + 0xc0]
cmp edi, ebx
seta bh
cmp edx, eax
lea eax, [esp + 0xb8]
setb dl
cmp edi, eax
seta dh
test byte [esp + 0x10], bh
jne 0x43ca86
and dl, dh
jne 0x43ca86
mov ebx, dword [esp]
shl ebx, 3
mov edx, dword [esp + 0xc]
mov edi, edx
and edi, 0xfffffffe
lea eax, [edi*8]
sub ecx, eax
mov dword [esp], edi
neg edi
lea eax, [esp + 0xb0]
add ebx, eax
add ebx, 0xfffffff8
and edx, 1
mov dword [esp + 0x10], edx
movd xmm0, dword [esp + 0x5c]
movd xmm1, dword [esp + 0x20]
mov eax, dword [esp + 8]
add eax, esp
add eax, 0xb0
xor edx, edx
movdqu xmm2, xmmword [eax + edx*8]
movdqu xmm3, xmmword [eax + edx*8 + 8]
pshufd xmm3, xmm3, 0x4e
psllq xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
psrlq xmm2, xmm1
por xmm2, xmm3
pshufd xmm2, xmm2, 0x4e
movdqu xmmword [ebx + edx*8], xmm2
add edx, 0xfffffffe
cmp edi, edx
jne 0x43cf4a
mov eax, dword [esp]
cmp dword [esp + 0xc], eax
jne 0x43ca8e
jmp 0x43d14b
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
mov eax, edx
mov ecx, dword [esp + 0x5c]
shl eax, cl
shld edi, edx, cl
xor edx, edx
test cl, 0x20
cmovne edi, eax
mov dword [esp + 8], edi
cmovne eax, edx
mov dword [esp], eax
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + ebx*8 + 0xb4]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x20]
shr edx, cl
mov eax, dword [esp + ebx*8 + 0xb0]
mov edi, dword [esp + 0xc]
shrd eax, edi, cl
test cl, 0x20
cmovne eax, edx
mov ecx, 0
cmovne edx, ecx
or edx, dword [esp + 8]
or eax, dword [esp]
mov ecx, dword [esp + 0x38]
add ecx, ebx
mov dword [esp + ecx*8 + 0xb8], eax
mov dword [esp + ecx*8 + 0xbc], edx
lea edx, [ebx - 1]
lea ecx, [esp + ebx*8]
add ecx, 0xb0
cmp dword [esp + 0x10], 1
je 0x43d14b
mov eax, dword [esp + 0x38]
lea eax, [esp + eax*8]
add eax, 0xb8
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x5c]
shl eax, cl
mov dword [esp + 0x48], eax
test cl, 0x20
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x54], eax
mov ebx, dword [esp + edx*8 + 0xb4]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x20]
mov ecx, eax
shr ebx, cl
mov edx, dword [esp + edx*8 + 0xb0]
mov edi, dword [esp + 0x3c]
shrd edx, edi, cl
test al, 0x20
cmovne edx, ebx
mov eax, 0
cmovne ebx, eax
or edx, dword [esp + 0x54]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov ecx, dword [esp]
mov edi, dword [esp + 0x10]
mov dword [ecx + edi*8], edx
mov edx, dword [esp + edi*8 + 0xb0]
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x5c]
shl edx, cl
mov dword [esp + 0x54], edx
test cl, 0x20
mov edi, 0
cmovne edx, edi
mov dword [esp + 0xc], edx
mov edx, dword [esp + 8]
shld eax, edx, cl
test cl, 0x20
mov edi, ecx
cmovne eax, dword [esp + 0x48]
or eax, ebx
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + ecx*8 + 0xa8]
mov edx, dword [esp]
mov dword [edx + ecx*8 + 4], eax
mov edx, dword [esp + ecx*8 + 0xb4]
mov eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x3c]
shld edx, edi, cl
test cl, 0x20
cmovne edx, dword [esp + 0x54]
mov dword [esp + 8], edx
mov eax, dword [esp + eax*8 + 0xac]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x20]
shr eax, cl
test cl, 0x20
mov edx, eax
mov edi, 0
cmovne edx, edi
mov edi, dword [esp + 0x48]
shrd ebx, edi, cl
test cl, 0x20
cmovne ebx, eax
or edx, dword [esp + 8]
or ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp]
mov dword [ecx + eax*8 - 8], ebx
mov dword [ecx + eax*8 - 4], edx
lea ecx, [esp + eax*8]
add ecx, 0xa8
add eax, 0xfffffffe
test eax, eax
mov edx, eax
jne 0x43d022
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
mov ebx, eax
mov ecx, dword [esp + 0x5c]
shl ebx, cl
shld edx, eax, cl
xor eax, eax
test cl, 0x20
cmovne edx, ebx
cmove eax, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + ebx*8 + 0xb8], eax
mov dword [esp + ebx*8 + 0xbc], edx
mov eax, dword [esp + 0xb0]
add eax, ebx
mov ecx, dword [esp + eax*8 + 0xb8]
xor edx, edx
or ecx, dword [esp + eax*8 + 0xbc]
setne dl
add edx, eax
mov dword [esp + 0xb0], edx
test ebx, ebx
je 0x43d1c4
lea eax, [esp + 0xb8]
mov ecx, dword [esp + 0x38]
shl ecx, 3
push ecx
push 0
push eax
call fcn.0045779e
add esp, 0xc
mov eax, dword [esp + 0xb0]
cmp eax, dword [esp + 0x2b8]
jne 0x43d245
mov dword [esp], eax
sub dword [esp], 1
jb 0x43d24d
mov edi, dword [esp + eax*8 + 0xb0]
mov dword [esp + 0x20], edi
mov ebx, dword [esp + eax*8 + 0xb4]
mov ecx, dword [esp + eax*8 + 0x2b8]
mov eax, dword [esp + eax*8 + 0x2bc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
cmp ecx, edi
sbb eax, ebx
mov eax, 1
cmovb edx, eax
mov eax, edi
xor eax, ecx
mov ecx, ebx
xor ecx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x20], edi
sbb ebx, dword [esp + 0x10]
mov ebx, 0xffffffff
cmovb edx, ebx
or ecx, eax
mov eax, dword [esp]
je 0x43d1d7
xor ecx, ecx
test edx, edx
setg al
je 0x43d24d
xor edx, edx
mov cl, al
jmp 0x43d256
setae al
movzx ecx, al
jmp 0x43d254
mov ecx, dword [esp + 0x44]
and ecx, 1
xor edx, edx
add ecx, dword [esp + 0x44]
adc edx, dword [esp + 0x50]
mov eax, edx
mov ebx, 0x7ff00000
xor eax, ebx
or eax, ecx
je 0x43d8bc
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
shl eax, 0x1f
or edx, eax
mov eax, dword [esp + 0x30]
mov dword [eax + 4], 0
mov dword [eax], 0x14
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov edi, dword [esp + 0x1c]
jmp 0x43ba94
mov eax, dword [esp + 0x28]
mov ecx, eax
shr ecx, 1
add ecx, eax
mov dword [esp + 0x10], ecx
cmp ecx, 0xffffffe
ja 0x43124b
mov eax, dword [esp + 0x10]
shl eax, 4
mov dword [esp + 0x40], eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x43124b
mov esi, dword [esp + 4]
mov cl, byte [esi]
mov byte [esp + 0x28], cl
add cl, 0xb7
cmp cl, 0x25
ja 0x431348
mov ebx, dword [esp + 0x2c]
sub edi, ebx
mov edx, dword [esp + 0x14]
sub edx, ebx
mov dword [esp + 0x30], edi
add edi, eax
mov dword [esp + 0x1c], edi
add edx, eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
add edx, eax
add edx, 0xffffffe0
mov dword [esp + 0x40], edx
add dword [esp + 0x24], 1
movzx ecx, cl
jmp dword [ecx*4 + 0x10043594]
mov ecx, eax
mov eax, dword [ebp + 0x10]
test al, 0x10
jne 0x43dec5
mov esi, edi
add esi, 0xffffffff
mov dword [esp + 4], esi
mov eax, 0x1004ac3d
jmp 0x43fa95
cmp al, 0x2e
jne 0x43df96
movzx eax, byte [edi + 1]
test byte [eax + 0x1003f7a8], 3
je 0x43d87c
mov edx, eax
mov eax, edi
mov ecx, edx
cmp cl, 0x30
je 0x43df72
mov ecx, edx
add ecx, 0xffffffd0
mov dword [esp], ecx
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
mov dword [esp + 8], edi
mov dword [esp + 0x1c], eax
jmp 0x43d437
mov ecx, dword [esp]
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
cmp dl, 0x2e
jne 0x43d863
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 2]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43de67
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 3]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43de09
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 4]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43ddf9
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 5]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dde9
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 6]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43ddd9
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 7]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43ddc9
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 8]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dd71
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 9]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dd61
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0xa]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dd51
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0xb]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dcc6
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0xc]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dcb6
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0xd]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dca6
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0xe]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dc96
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0xf]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43db8b
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0x10]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43db7b
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0x11]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43db6b
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0x12]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dad9
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0x13]
mov eax, ecx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x43dac9
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov ebx, dword [esp + 0x10]
add ebx, ebx
lea ebx, [ebx + ebx*4]
add eax, ecx
mov dword [esp], eax
adc ebx, edx
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x1c]
movzx eax, byte [edx + 0x14]
add edx, 0x14
test byte [eax + 0x1003f7a8], 3
mov ecx, edx
mov dword [esp + 0x3c], edx
jne 0x43aa67
mov edi, eax
mov eax, dword [esp + 8]
add eax, 1
cmp eax, dword [esp + 0x3c]
je 0x43d886
mov edx, dword [esp + 0x3c]
sub edx, dword [esp + 8]
mov eax, edx
sar eax, 0x1f
mov ecx, 1
sub ecx, edx
mov ebx, 0
sbb ebx, eax
mov eax, edi
movzx eax, al
test byte [eax + 0x1003f7a8], 0x20
jne 0x43dd81
cmp edx, 0x159
jge 0x43dd98
mov dword [esp + 0xc], 0
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
jmp 0x43ac5f
cmp dl, 0x2e
je 0x43d7ab
xor ebx, ebx
xor ecx, ecx
mov edi, dword [esp + 8]
mov dword [esp + 0x3c], edi
mov dword [esp + 0xc], 0
jmp 0x43ab7b
mov esi, edi
add esi, 1
jmp 0x43e321
mov esi, dword [esp + 0x3c]
jmp 0x43e321
add edi, 1
mov dword [esp + 4], edi
mov ecx, 0x1004ad4c
jmp 0x43c8ba
mov eax, dword [ebp + 0x10]
test al, 0x10
je 0x442918
xor eax, eax
cmp byte [esp + 0x18], 0x2d
mov edx, dword [esp + 0x30]
mov dword [edx + 4], 0
mov ecx, 0xfff00000
mov esi, 0x7ff00000
cmove esi, ecx
cmove eax, eax
mov dword [edx], 0x14
mov dword [edx + 0xc], esi
mov dword [edx + 8], eax
mov edi, dword [esp + 0x1c]
jmp 0x43ba94
cmp dword [esp + 0x10], 0
je 0x43d9c7
cmp dword [esp + 0x10], 4
jae 0x43d9ce
mov edx, dword [esp + 0x10]
lea edi, [edx - 1]
and edx, 3
je 0x43daf0
mov eax, dword [esp + 0x38]
lea ebx, [esp + eax*8]
add ebx, 0x2b8
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 1]
movsd xmm0, qword [esp + ecx*8 + 0x2b8]
movsd qword [ebx + ecx*8], xmm0
mov dword [esp + 0x10], eax
add edx, 0xffffffff
jne 0x43d931
jmp 0x43daf4
cmp dword [esp + 0x10], 0
je 0x43dae9
cmp dword [esp + 0x10], 4
jae 0x43db9b
mov edx, dword [esp + 0x10]
lea edi, [edx - 1]
and edx, 3
je 0x43dcd6
mov eax, dword [esp + 0x38]
lea ebx, [esp + eax*8]
add ebx, 0xb0
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 1]
movsd xmm0, qword [esp + ecx*8 + 0xb0]
movsd qword [ebx + ecx*8], xmm0
mov dword [esp + 0x10], eax
add edx, 0xffffffff
jne 0x43d987
jmp 0x43dcda
cmp al, 0x22
jne 0x43d9b9
mov edx, dword [esp + 0x2c]
mov eax, ebx
jmp 0x43a8a8
mov dword [esp + 4], edi
mov ecx, 0x1004ad01
jmp 0x43c8ba
xor eax, eax
jmp 0x43db51
mov ebx, dword [esp + 0x10]
lea eax, [ebx - 1]
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + ecx]
lea edx, [esp + ebx*8 + 0x2b8]
seto cl
cmp eax, edx
ja 0x43d914
test cl, cl
jne 0x43d914
mov edx, dword [esp + 0x10]
lea edx, [esp + edx*8]
add edx, 0x2b8
cmp eax, edx
ja 0x43d914
test cl, cl
jne 0x43d914
mov ecx, dword [esp + 0x38]
lea ecx, [esp + ecx*8]
add ecx, 0x2c0
mov edx, dword [esp + 0x10]
lea edx, [esp + edx*8]
add edx, 0x2c0
cmp ecx, edx
jae 0x43da50
lea ecx, [esp + ebx*8]
add ecx, 0x2c0
lea edx, [esp + 0x2c0]
cmp ecx, edx
ja 0x43d914
mov ecx, dword [esp + 0x10]
and ecx, 0xfffffffc
mov dword [esp], ecx
add ecx, 0xfffffffc
mov edx, ecx
shr edx, 2
add edx, 1
mov edi, edx
test ecx, ecx
je 0x43de19
shl ebx, 3
lea ecx, [esp + 0x2b8]
add ebx, ecx
add ebx, 0xfffffff8
lea ecx, [esp + eax]
add ecx, 0x2b8
mov edx, edi
and edx, 0xfffffffe
neg edx
xor eax, eax
movups xmm0, xmmword [ecx + eax*8 - 0x10]
movups xmm1, xmmword [ecx + eax*8]
movups xmmword [ebx + eax*8], xmm1
movups xmmword [ebx + eax*8 - 0x10], xmm0
movupd xmm0, xmmword [ecx + eax*8 - 0x30]
movupd xmm1, xmmword [ecx + eax*8 - 0x20]
movupd xmmword [ebx + eax*8 - 0x20], xmm1
movupd xmmword [ebx + eax*8 - 0x30], xmm0
add eax, 0xfffffff8
add edx, 2
jne 0x43da90
neg eax
jmp 0x43de1b
mov ecx, dword [esp + 0x1c]
add ecx, 0x13
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 0x12
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
xor eax, eax
jmp 0x43dd37
mov eax, dword [esp + 0x10]
cmp edi, 3
jb 0x43db4a
mov ecx, dword [esp + 0x38]
lea ecx, [esp + ecx*8]
add ecx, 0x2b8
mov edx, eax
movsd xmm0, qword [esp + eax*8 + 0x2b8]
movsd qword [ecx + eax*8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2b0]
movsd qword [ecx + eax*8 - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2a8]
movsd qword [ecx + eax*8 - 0x10], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2a0]
movsd qword [ecx + eax*8 - 0x18], xmm0
add edx, 0xfffffffc
mov eax, edx
jne 0x43db08
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x38]
add eax, ecx
mov dword [esp + 0x2b8], eax
test ecx, ecx
jne 0x43ce1f
jmp 0x43d1c4
mov ecx, dword [esp + 0x1c]
add ecx, 0x11
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 0x10
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 0xf
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ebx, dword [esp + 0x10]
lea eax, [ebx - 1]
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + ecx]
lea edx, [esp + ebx*8 + 0xb0]
seto cl
cmp eax, edx
ja 0x43d96a
test cl, cl
jne 0x43d96a
mov edx, dword [esp + 0x10]
lea edx, [esp + edx*8]
add edx, 0xb0
cmp eax, edx
ja 0x43d96a
test cl, cl
jne 0x43d96a
mov ecx, dword [esp + 0x38]
lea ecx, [esp + ecx*8]
add ecx, 0xb8
mov edx, dword [esp + 0x10]
lea edx, [esp + edx*8]
add edx, 0xb8
cmp ecx, edx
jae 0x43dc1d
lea ecx, [esp + ebx*8]
add ecx, 0xb8
lea edx, [esp + 0xb8]
cmp ecx, edx
ja 0x43d96a
mov ecx, dword [esp + 0x10]
and ecx, 0xfffffffc
mov dword [esp], ecx
add ecx, 0xfffffffc
mov edx, ecx
shr edx, 2
add edx, 1
mov edi, edx
test ecx, ecx
je 0x43de77
shl ebx, 3
lea ecx, [esp + 0xb0]
add ebx, ecx
add ebx, 0xfffffff8
lea ecx, [esp + eax]
add ecx, 0xb0
mov edx, edi
and edx, 0xfffffffe
neg edx
xor eax, eax
movups xmm0, xmmword [ecx + eax*8 - 0x10]
movups xmm1, xmmword [ecx + eax*8]
movups xmmword [ebx + eax*8], xmm1
movups xmmword [ebx + eax*8 - 0x10], xmm0
movupd xmm0, xmmword [ecx + eax*8 - 0x30]
movupd xmm1, xmmword [ecx + eax*8 - 0x20]
movupd xmmword [ebx + eax*8 - 0x20], xmm1
movupd xmmword [ebx + eax*8 - 0x30], xmm0
add eax, 0xfffffff8
add edx, 2
jne 0x43dc5d
neg eax
jmp 0x43de79
mov ecx, dword [esp + 0x1c]
add ecx, 0xe
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 0xd
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 0xc
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 0xb
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov eax, dword [esp + 0x10]
cmp edi, 3
jb 0x43dd30
mov ecx, dword [esp + 0x38]
lea ecx, [esp + ecx*8]
add ecx, 0xb0
mov edx, eax
movsd xmm0, qword [esp + eax*8 + 0xb0]
movsd qword [ecx + eax*8], xmm0
movsd xmm0, qword [esp + eax*8 + 0xa8]
movsd qword [ecx + eax*8 - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0xa0]
movsd qword [ecx + eax*8 - 0x10], xmm0
movsd xmm0, qword [esp + eax*8 + 0x98]
movsd qword [ecx + eax*8 - 0x18], xmm0
add edx, 0xfffffffc
mov eax, edx
jne 0x43dcee
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x38]
add eax, ecx
mov dword [esp + 0xb0], eax
test ecx, ecx
jne 0x43d1aa
jmp 0x43d1c4
mov ecx, dword [esp + 0x1c]
add ecx, 0xa
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 9
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 8
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xc], 0
mov eax, ecx
mov ecx, ebx
mov ebx, eax
jmp 0x43ab7b
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], 0
mov dword [ecx], 0x14
shl eax, 0x1f
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], 0
mov edi, dword [esp + 0x3c]
jmp 0x43ba94
mov ecx, dword [esp + 0x1c]
add ecx, 7
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 6
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 5
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 4
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
mov ecx, dword [esp + 0x1c]
add ecx, 3
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
xor eax, eax
mov ecx, edi
test cl, 1
je 0x43de50
not eax
add eax, dword [esp + 0x10]
movupd xmm0, xmmword [esp + eax*8 + 0x2a8]
movupd xmm1, xmmword [esp + eax*8 + 0x2b8]
add eax, dword [esp + 0x38]
movupd xmmword [esp + eax*8 + 0x2b8], xmm1
movupd xmmword [esp + eax*8 + 0x2a8], xmm0
mov eax, dword [esp]
cmp dword [esp + 0x10], eax
je 0x43db4a
and dword [esp + 0x10], 3
jmp 0x43d914
mov ecx, dword [esp + 0x1c]
add ecx, 2
mov dword [esp + 0x3c], ecx
jmp 0x43d7fd
xor eax, eax
mov ecx, edi
test cl, 1
je 0x43deae
not eax
add eax, dword [esp + 0x10]
movupd xmm0, xmmword [esp + eax*8 + 0xa0]
movupd xmm1, xmmword [esp + eax*8 + 0xb0]
add eax, dword [esp + 0x38]
movupd xmmword [esp + eax*8 + 0xb0], xmm1
movupd xmmword [esp + eax*8 + 0xa0], xmm0
mov eax, dword [esp]
cmp dword [esp + 0x10], eax
je 0x43dd30
and dword [esp + 0x10], 3
jmp 0x43d96a
mov eax, ecx
add al, 0xb7
cmp al, 0x25
ja 0x43d3d0
movzx eax, al
jmp dword [eax*4 + 0x1004334c]
mov eax, edi
movzx ecx, byte [eax + 2]
add eax, 1
cmp ecx, 0x30
je 0x43df74
mov edx, ecx
mov cl, byte [edx + 0x1003f7a8]
test cl, 3
jne 0x43d40b
add eax, 1
mov edi, eax
test cl, 3
jne 0x43dfda
test cl, 0x20
je 0x43b639
movzx eax, byte [edi + 1]
mov al, byte [eax + 0x1003f7a8]
and al, 0xc
cmp al, 1
sbb edi, 0
movzx eax, byte [edi + 2]
add edi, 2
test byte [eax + 0x1003f7a8], 3
je 0x43dfed
movzx eax, byte [edi + 1]
add edi, 1
test byte [eax + 0x1003f7a8], 3
jne 0x43dfc5
jmp 0x43b639
mov esi, edi
add esi, 0xffffffff
mov dword [esp + 4], esi
mov eax, 0x1004af1e
jmp 0x43fa95
mov esi, edi
add esi, 0xffffffff
mov dword [esp + 4], esi
mov eax, 0x1004ac20
jmp 0x43fa95
add esi, 1
mov dword [esp + 4], esi
mov edi, dword [esp + 0x24]
mov eax, edi
shl edi, 8
movzx ecx, byte [ebx]
or ecx, edi
shr eax, 0x18
add ecx, 0x100
adc eax, 0
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x30]
add eax, 0x10
cmp eax, dword [esp + 0x40]
jae 0x43e0e2
mov edi, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov dword [eax + 4], 0
mov dword [eax], 6
mov eax, dword [esp + 0x30]
sub eax, ebx
mov ecx, dword [esp + 0x30]
mov dword [ecx + 8], eax
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x24], 0
cmp byte [esi], 0xa
jne 0x43e0d9
add esi, 1
mov dword [esp + 4], esi
mov dword [esp + 0x28], edi
jmp 0x439ee1
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x28]
mov edi, eax
shr edi, 1
add edi, eax
cmp edi, 0xffffffe
ja 0x43124b
mov esi, edi
shl esi, 4
push esi
push dword [esp + 0x30]
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x43124b
mov edx, eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
sub eax, ecx
add eax, edx
sub ebx, ecx
add ebx, edx
lea ecx, [esi + edx]
add ecx, 0xffffffe0
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 4]
jmp 0x43e0a3
movzx eax, word [edi]
cmp eax, 0xa2c
mov ebx, dword [esp + 0x14]
jne 0x43e161
add edi, 2
mov dword [esp + 4], edi
mov esi, edi
jmp 0x439ee1
lea esi, [esp + 4]
cmp al, 0x5d
je 0x43e1e1
cmp al, 0x2c
je 0x43e1d3
movzx eax, al
test byte [eax + 0x1003f5f0], 1
jne 0x43e1a7
mov eax, dword [ebp + 0x10]
test al, 8
je 0x431346
mov dword [esp + 0x2c], edx
mov ecx, edi
mov edx, esi
call fcn.0044333e
test al, al
je 0x43fba6
mov edi, dword [esp + 4]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
jmp 0x43e1c4
add edi, 1
nop dword [eax]
mov dword [esp + 4], edi
movzx eax, byte [edi]
add edi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x43e1ae
add edi, 0xffffffff
movzx eax, word [edi]
cmp eax, 0xa2c
jne 0x43e165
jmp 0x43e153
mov esi, edi
add esi, 1
mov dword [esp + 4], esi
jmp 0x439ee1
mov esi, edi
add esi, 1
mov dword [esp + 4], esi
mov edi, dword [esp + 0x24]
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x30]
sub ecx, ebx
add ecx, 0x10
mov dword [ebx + 8], ecx
shl edi, 8
or edi, 6
mov dword [ebx], edi
mov dword [ebx + 4], 0
test eax, eax
je 0x43e246
sub ebx, eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp byte [esi], 0xa
mov dword [esp + 0x14], ebx
jne 0x43e227
add esi, 1
mov dword [esp + 4], esi
shld ecx, eax, 0x18
not eax
mov edi, esi
mov ebx, esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], ecx
test al, 7
jne 0x43e145
jmp 0x43eed7
mov dword [esp + 0x2c], edx
mov eax, dword [ebp + 0x10]
test al, 2
jne 0x43e257
cmp esi, dword [esp + 0x78]
jb 0x43e2a8
mov esi, dword [esp + 0x2c]
lea eax, [esi + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x9c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x74]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x6c]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x30]
sub eax, esi
sar eax, 4
add eax, 0xffffffff
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0xa8]
mov dword [esi + 0x1c], eax
jmp 0x443240
mov eax, dword [ebp + 0x10]
test al, 8
jne 0x43e306
movzx eax, byte [esi]
test byte [eax + 0x1003f5f0], 1
je 0x43e2d4
add esi, 1
mov dword [esp + 4], esi
movzx eax, byte [esi]
add esi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x43e2be
add esi, 0xffffffff
cmp esi, dword [esp + 0x78]
jae 0x43e257
sub esi, dword [esp + 0x6c]
mov eax, dword [ebp + 0x18]
test eax, eax
lea ecx, [esp + 0x84]
cmove eax, ecx
mov dword [eax + 8], esi
mov dword [eax], 4
mov dword [eax + 4], 0x1004aac2
jmp 0x43facd
lea edx, [esp + 4]
mov ecx, esi
call fcn.0044333e
mov esi, dword [esp + 4]
cmp esi, dword [esp + 0x78]
jae 0x43e257
jmp 0x43e2de
add esi, 0xffffffff
mov dword [esp + 4], esi
mov eax, 0x1004aaa5
jmp 0x43fa95
mov dword [esp + 4], edx
mov eax, 0x1004aaa5
mov esi, edx
jmp 0x43fa95
mov eax, dword [esp]
mov dword [esp + 4], eax
mov ecx, 0x1004ad28
jmp 0x440d0d
add esi, 1
mov dword [esp + 4], esi
mov edi, dword [esp + 0x24]
mov eax, edi
shl edi, 8
movzx ecx, byte [ebx]
or ecx, edi
shr eax, 0x18
add ecx, 0x100
adc eax, 0
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov ecx, dword [esp + 0x30]
add ecx, 0x10
cmp ecx, dword [esp + 0x40]
jae 0x43e3e9
mov edi, dword [esp + 0x28]
mov dword [ecx + 4], 0
mov dword [ecx], 7
mov eax, ecx
sub eax, ebx
mov dword [ecx + 8], eax
mov dword [esp + 0x10], 0
cmp byte [esi], 0xa
jne 0x43e3e0
add esi, 1
mov dword [esp + 4], esi
mov dword [esp + 0x28], edi
jmp 0x4310f1
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x28]
mov edi, eax
shr edi, 1
add edi, eax
cmp edi, 0xffffffe
ja 0x43124b
mov esi, edi
shl esi, 4
push esi
push dword [esp + 0x30]
push dword [esp + 0x6c]
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x43124b
mov edx, eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
sub eax, ecx
add eax, edx
sub ebx, ecx
add ebx, edx
lea ecx, [esi + edx]
add ecx, 0xffffffe0
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 4]
mov ecx, eax
jmp 0x43e3b8
lea edi, [esp + 4]
mov dword [esp + 0x30], ecx
movzx eax, word [esi]
cmp eax, 0x2020
jne 0x43e5ba
nop word cs:[eax + eax]
lea ecx, [esi + 2]
mov dword [esp + 4], ecx
movzx eax, word [esi + 2]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 4]
mov dword [esp + 4], ecx
movzx eax, word [esi + 4]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 6]
mov dword [esp + 4], ecx
movzx eax, word [esi + 6]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 8]
mov dword [esp + 4], ecx
movzx eax, word [esi + 8]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0xa]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0xa]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0xc]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0xc]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0xe]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0xe]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0x10]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x10]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0x12]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x12]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0x14]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x14]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0x16]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x16]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0x18]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x18]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0x1a]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x1a]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0x1c]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x1c]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0x1e]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x1e]
cmp eax, 0x2020
jne 0x43e5b8
lea ecx, [esi + 0x20]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x20]
mov esi, ecx
cmp eax, 0x2020
je 0x43e46e
mov esi, ecx
cmp al, 0x22
mov dword [esp + 0x2c], edx
je 0x43e61e
cmp al, 0x7d
je 0x43f9fe
movzx eax, al
test byte [eax + 0x1003f5f0], 1
jne 0x43e5f8
mov eax, dword [ebp + 0x10]
test al, 8
je 0x441136
mov ecx, esi
mov edx, edi
call fcn.0044333e
test al, al
je 0x43fba6
mov esi, dword [esp + 4]
jmp 0x43e611
add esi, 1
mov dword [esp + 4], esi
movzx eax, byte [esi]
add esi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x43e5fb
add esi, 0xffffffff
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
jmp 0x43e452
mov eax, dword [esp + 0x30]
add eax, 0x10
cmp eax, dword [esp + 0x40]
jae 0x43fa24
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
lea edi, [eax + 1]
mov cl, byte [esi + 1]
add esi, 1
mov ebx, esi
mov dword [esp + 0x24], edi
movzx eax, cl
test byte [eax + 0x1003f5f0], 0xc
jne 0x43e8cb
add ebx, 8
mov eax, ebx
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [eax - 7]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e791
movzx ecx, byte [eax - 6]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e7a2
movzx ecx, byte [eax - 5]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e7b3
movzx ecx, byte [eax - 4]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e7c4
movzx ecx, byte [eax - 3]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e7d5
movzx ecx, byte [eax - 2]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e7e3
movzx ecx, byte [eax - 1]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e7f1
movzx ecx, byte [eax]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e856
movzx ecx, byte [eax + 1]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e7ff
movzx ecx, byte [eax + 2]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e80d
movzx ecx, byte [eax + 3]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e81b
movzx ecx, byte [eax + 4]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e829
movzx ecx, byte [eax + 5]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e837
movzx ecx, byte [eax + 6]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e845
movzx ecx, byte [eax + 7]
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43e853
movzx ecx, byte [eax + 8]
add eax, 0x10
test byte [ecx + 0x1003f5f0], 0xc
je 0x43e66e
add eax, 0xfffffff8
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 0xfffffff9
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 0xfffffffa
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 0xfffffffb
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 0xfffffffc
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 0xfffffffd
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 0xfffffffe
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 0xffffffff
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 1
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 2
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 3
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 4
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 5
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 6
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
add eax, 7
cmp cl, 0x22
je 0x43ea08
test cl, cl
jns 0x43fbf9
test dword [ebp + 0x10], 0x40000000
jne 0x43e8d8
mov ecx, dword [eax]
mov edi, ecx
and edi, 0xc0c0f0
mov edx, ecx
mov dword [esp], eax
mov ebx, ecx
cmp edi, 0x8080e0
jne 0x43e948
mov edi, edx
and edi, 0x200f
je 0x43e946
cmp edi, 0x200d
je 0x43e946
mov ecx, dword [esp]
mov edx, dword [ecx + 3]
add ecx, 3
mov dword [esp], ecx
mov edi, edx
and edi, 0xc0c0f0
mov ecx, edx
cmp edi, 0x8080e0
je 0x43e88d
mov ebx, edx
mov ecx, edx
jmp 0x43e948
mov eax, ebx
cmp cl, 0x22
je 0x43ea08
jmp 0x43e85f
mov ecx, dword [eax]
mov edx, ecx
and edx, 0x800080
cmp edx, 0x800080
jne 0x43e91e
add eax, 2
test ecx, 0xff00
je 0x440209
cmp ecx, 0xffffff
jbe 0x44020c
mov ecx, dword [eax + 2]
mov edx, ecx
and edx, 0x800080
add eax, 4
cmp edx, 0x800080
je 0x43e8ed
add eax, 0xfffffffe
test cl, cl
mov ebx, eax
jns 0x43e64a
movzx eax, cx
cmp eax, 0xff
jbe 0x44113f
movzx ecx, word [ebx + 2]
add ebx, 2
test cl, cl
js 0x43e928
jmp 0x43e64a
mov ebx, edx
test bl, bl
mov ebx, dword [esp]
jns 0x43e64a
mov edi, edx
and edi, 0xc0e0
cmp edi, 0x80c0
jne 0x43e98e
mov edi, edx
and edi, 0x1e
mov edi, dword [esp]
je 0x43e991
mov edx, dword [edi + 2]
add edi, 2
mov ecx, edx
and ecx, 0xc0e0
cmp ecx, 0x80c0
jne 0x43e98a
mov ecx, edx
and ecx, 0x1e
jne 0x43e96d
mov ecx, edx
jmp 0x43e991
mov edi, dword [esp]
mov ebx, edx
and ebx, 0xc0c0c0f8
cmp ebx, 0x808080f0
jne 0x43e9ed
mov ebx, edx
and ebx, 0x3007
je 0x43e9ed
test dl, 4
je 0x43e9b8
and edx, 0x3003
jne 0x43e9ed
mov edx, edi
add edx, 4
mov edi, edx
mov ecx, dword [edx]
mov edx, ecx
and edx, 0xc0c0c0f8
cmp edx, 0x808080f0
jne 0x43e9ed
mov edx, ecx
and edx, 0x3007
je 0x43e9ed
lea edx, [edi + 4]
test cl, 4
je 0x43e9bd
mov ebx, ecx
and ebx, 0x3003
je 0x43e9bd
mov ebx, edi
cmp eax, edi
jne 0x43e64a
mov dword [esp + 4], eax
mov ecx, 0x1004ad70
mov dword [esp], eax
jmp 0x440d0d
mov edi, eax
mov ecx, edi
sub ecx, esi
mov edx, ecx
sar edx, 0x1f
shld edx, ecx, 8
mov ebx, dword [esp + 0x1c]
mov dword [ebx + 4], edx
shl ecx, 8
or ecx, 5
mov dword [ebx], ecx
mov dword [ebx + 8], esi
mov byte [edi], 0
lea esi, [eax + 1]
mov dword [esp + 4], esi
movzx eax, word [eax + 1]
cmp eax, 0x203a
jne 0x43ee2d
mov edx, dword [esp + 0x2c]
add esi, 2
mov dword [esp + 4], esi
mov bl, byte [esi]
cmp bl, 0x22
jne 0x43ef6d
mov eax, dword [esp + 0x1c]
add eax, 0x10
mov dword [esp + 0x30], eax
add dword [esp + 0x10], 2
mov al, byte [esi + 1]
add esi, 1
mov dword [esp], esi
movzx ecx, al
test byte [ecx + 0x1003f5f0], 0xc
jne 0x43ecdf
mov ebx, dword [esp]
add ebx, 8
nop dword [eax]
movzx eax, byte [ebx - 7]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ebb0
movzx eax, byte [ebx - 6]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ebc0
movzx eax, byte [ebx - 5]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ebd0
movzx eax, byte [ebx - 4]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ebe0
movzx eax, byte [ebx - 3]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ebf0
movzx eax, byte [ebx - 2]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ebfd
movzx eax, byte [ebx - 1]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ec0a
movzx eax, byte [ebx]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ec68
movzx eax, byte [ebx + 1]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ec17
movzx eax, byte [ebx + 2]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ec24
movzx eax, byte [ebx + 3]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ec31
movzx eax, byte [ebx + 4]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ec3e
movzx eax, byte [ebx + 5]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ec4b
movzx eax, byte [ebx + 6]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ec58
movzx eax, byte [ebx + 7]
test byte [eax + 0x1003f5f0], 0xc
jne 0x43ec65
movzx eax, byte [ebx + 8]
add ebx, 0x10
test byte [eax + 0x1003f5f0], 0xc
je 0x43ea8e
add ebx, 0xfffffff8
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 0xfffffff9
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 0xfffffffa
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 0xfffffffb
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 0xfffffffc
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 0xfffffffd
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 0xfffffffe
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 0xffffffff
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 1
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 2
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 3
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 4
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 5
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 6
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
add ebx, 7
cmp al, 0x22
je 0x43eea3
test al, al
jns 0x4405f5
test dword [ebp + 0x10], 0x40000000
jne 0x43ecec
mov eax, dword [ebx]
mov edi, eax
and edi, 0xc0c0f0
mov ecx, eax
mov dword [esp], ebx
mov edx, eax
cmp edi, 0x8080e0
jne 0x43ed69
mov edx, ecx
and edx, 0x200f
je 0x43ed67
cmp edx, 0x200d
je 0x43ed67
mov eax, dword [esp]
mov ecx, dword [eax + 3]
add eax, 3
mov dword [esp], eax
mov edx, ecx
and edx, 0xc0c0f0
mov eax, ecx
cmp edx, 0x8080e0
je 0x43ec9e
mov edx, ecx
mov eax, ecx
jmp 0x43ed69
mov ebx, dword [esp]
cmp al, 0x22
je 0x43eea3
jmp 0x43ec70
mov eax, dword [ebx]
mov ecx, eax
and ecx, 0x800080
cmp ecx, 0x800080
jne 0x43ed30
add ebx, 2
test eax, 0xff00
je 0x440cfe
cmp eax, 0xffffff
jbe 0x440d01
mov eax, dword [ebx + 2]
mov ecx, eax
and ecx, 0x800080
add ebx, 4
cmp ecx, 0x800080
je 0x43ed01
add ebx, 0xfffffffe
mov dword [esp], ebx
test al, al
mov edx, dword [esp + 0x2c]
jns 0x43ea71
movzx eax, ax
cmp eax, 0xff
jbe 0x43e342
mov ecx, dword [esp]
movzx eax, word [ecx + 2]
add ecx, 2
mov dword [esp], ecx
test al, al
js 0x43ed3f
mov edx, dword [esp + 0x2c]
jmp 0x43ea71
mov edx, ecx
test dl, dl
mov edx, dword [esp + 0x2c]
jns 0x43ea71
mov edx, ecx
and edx, 0xc0e0
cmp edx, 0x80c0
jne 0x43edaf
mov edx, ecx
and edx, 0x1e
je 0x43edaf
mov eax, dword [esp]
mov ecx, dword [eax + 2]
add eax, 2
mov dword [esp], eax
mov eax, ecx
and eax, 0xc0e0
cmp eax, 0x80c0
jne 0x43edad
mov eax, ecx
and eax, 0x1e
jne 0x43ed8c
mov eax, ecx
mov edx, ecx
and edx, 0xc0c0c0f8
cmp edx, 0x808080f0
jne 0x43ee0f
mov edx, ecx
and edx, 0x3007
je 0x43ee0f
test cl, 4
je 0x43edd6
and ecx, 0x3003
jne 0x43ee0f
mov ecx, dword [esp]
add ecx, 4
mov dword [esp], ecx
mov eax, dword [ecx]
mov ecx, eax
and ecx, 0xc0c0c0f8
cmp ecx, 0x808080f0
jne 0x43ee0f
mov ecx, eax
and ecx, 0x3007
je 0x43ee0f
mov ecx, dword [esp]
add ecx, 4
test al, 4
je 0x43eddc
mov edx, eax
and edx, 0x3003
je 0x43eddc
cmp ebx, dword [esp]
mov edx, dword [esp + 0x2c]
jne 0x43ea71
mov dword [esp + 4], ebx
mov ecx, 0x1004ad70
mov dword [esp], ebx
jmp 0x440d0d
lea edi, [esp + 4]
mov edx, dword [esp + 0x2c]
cmp al, 0x3a
je 0x43f002
movzx eax, al
test byte [eax + 0x1003f5f0], 1
jne 0x43ee6f
mov eax, dword [ebp + 0x10]
test al, 8
je 0x431346
mov ecx, esi
mov edx, edi
call fcn.0044333e
test al, al
je 0x43fba6
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x2c]
jmp 0x43ee94
add esi, 1
nop word cs:[eax + eax]
nop
mov dword [esp + 4], esi
movzx eax, byte [esi]
add esi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x43ee7e
add esi, 0xffffffff
movzx eax, word [esi]
cmp eax, 0x203a
jne 0x43ee35
jmp 0x43ea46
mov dword [esp + 0x2c], edx
mov edx, ebx
mov eax, edx
sub eax, esi
mov ecx, eax
sar ecx, 0x1f
shld ecx, eax, 8
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x14], ecx
shl eax, 8
or eax, 5
mov dword [edi + 0x10], eax
mov dword [edi + 0x18], esi
mov byte [edx], 0
add ebx, 1
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x2c]
movzx eax, word [ebx]
cmp eax, 0xa2c
jne 0x43eeec
add ebx, 2
mov dword [esp + 4], ebx
mov esi, ebx
jmp 0x43ef60
lea esi, [esp + 4]
cmp al, 0x2c
je 0x43ef57
mov dword [esp + 0x2c], edx
cmp al, 0x7d
je 0x43fae3
movzx eax, al
test byte [eax + 0x1003f5f0], 1
jne 0x43ef2e
mov eax, dword [ebp + 0x10]
test al, 8
je 0x441136
mov ecx, ebx
mov edx, esi
call fcn.0044333e
test al, al
je 0x43fba6
mov ebx, dword [esp + 4]
jmp 0x43ef47
add ebx, 1
mov dword [esp + 4], ebx
movzx eax, byte [ebx]
add ebx, 1
test byte [eax + 0x1003f5f0], 1
jne 0x43ef31
add ebx, 0xffffffff
movzx eax, word [ebx]
cmp eax, 0xa2c
mov edx, dword [esp + 0x2c]
jne 0x43eef0
jmp 0x43eee1
mov esi, ebx
add esi, 1
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
jmp 0x43e44e
lea edi, [esp + 4]
movzx eax, bl
mov al, byte [eax + 0x1003f5f0]
test al, 2
jne 0x43f00a
mov ecx, ebx
add cl, 0xa5
cmp cl, 0x20
ja 0x43ef96
movzx ecx, cl
jmp dword [ecx*4 + 0x10043178]
test al, 1
jne 0x43efd4
mov eax, dword [ebp + 0x10]
test al, 0x10
je 0x43efaa
cmp bl, 0x4e
je 0x43fb62
mov eax, dword [ebp + 0x10]
test al, 8
je 0x431346
mov ecx, esi
mov edx, edi
call fcn.0044333e
test al, al
je 0x43fba6
mov esi, dword [esp + 4]
mov al, byte [esi]
mov edx, dword [esp + 0x2c]
mov ebx, eax
jmp 0x43eff4
add esi, 1
nop dword [eax]
mov dword [esp + 4], esi
movzx ebx, byte [esi]
add esi, 1
test byte [ebx + 0x1003f5f0], 1
jne 0x43efde
add esi, 0xffffffff
cmp bl, 0x22
jne 0x43ef71
jmp 0x43ea58
add esi, 1
jmp 0x43ea49
mov eax, dword [esp + 0x1c]
add eax, 0x10
mov dword [esp + 0x30], eax
add dword [esp + 0x10], 2
mov dword [esp + 0x80], 0
xor eax, eax
mov dword [esp + 0x18], ebx
cmp bl, 0x2d
sete al
lea ebx, [esi + eax]
movzx eax, byte [esi + eax]
test byte [eax + 0x1003f7a8], 2
je 0x44021d
add eax, 0xffffffd0
movzx edx, byte [ebx + 1]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x44026d
mov ecx, 0xa
imul ecx
mov ecx, edx
add eax, edi
adc ecx, 0
movzx edx, byte [ebx + 2]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4402c7
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 3]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4402f0
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 4]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x440319
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 5]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x440342
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 6]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x44036b
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 7]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x440394
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 8]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4403bd
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 9]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4403e6
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 0xa]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x44040f
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 0xb]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x440438
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 0xc]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x440461
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 0xd]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x44048a
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 0xe]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4404b3
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 0xf]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x4404dc
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 0x10]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x440501
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
movzx edx, byte [ebx + 0x11]
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x440526
mov edx, 0xa
mul edx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add eax, edi
adc ecx, edx
mov edi, ecx
movzx edx, byte [ebx + 0x12]
lea ecx, [edx - 0x30]
cmp ecx, 9
ja 0x44054b
mov edx, 0xa
mul edx
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov al, byte [ebx + 0x13]
add ebx, 0x13
movzx ecx, al
mov dl, byte [ecx + 0x1003f7a8]
test dl, 0x33
je 0x43f398
mov dword [esp + 0x24], eax
test dl, 3
mov dword [esp + 0xc], edi
je 0x43f2c1
movzx eax, byte [ebx + 1]
test byte [eax + 0x1003f7a8], 0x33
je 0x43f44d
test dl, 0x20
jne 0x43f3fb
mov dword [esp + 8], 0
cmp byte [esp + 0x24], 0x2e
jne 0x43f50a
lea ecx, [ebx + 1]
movzx eax, byte [ebx + 1]
test byte [eax + 0x1003f7a8], 3
je 0x43fa8a
mov dword [esp + 0x24], eax
mov dword [esp + 8], ebx
jmp 0x43f50c
cmp byte [esp + 0x18], 0x2d
mov esi, dword [esp + 0x1c]
mov edx, dword [esp]
jne 0x43f418
mov eax, 0x80000000
mov ecx, edx
neg ecx
sbb eax, edi
jae 0x43f418
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0x14
movd xmm0, edx
movd xmm1, edi
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x10042f40]
subpd xmm0, xmmword [0x10042f50]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
xorpd xmm1, xmmword [0x1003eaf0]
movlpd qword [esi + 0x18], xmm1
jmp 0x43eecf
xor ecx, ecx
xor edi, edi
mov dword [esp + 8], ebx
mov dword [esp + 0x38], 0
mov dword [esp + 0x44], 0
jmp 0x43f61b
xor eax, eax
mov ecx, edx
neg ecx
sbb eax, edi
xor edx, edx
cmp byte [esp + 0x18], 0x2d
sete dl
lea edx, [edx*8 + 4]
mov dword [esi + 0x10], edx
cmovne eax, edi
cmovne ecx, dword [esp]
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], eax
jmp 0x43eecf
add ecx, 0xffffffd0
cmp dword [esp], 0x99999999
mov eax, edi
sbb eax, 0x19999999
jb 0x43f486
mov eax, 0x19999999
mov edi, 0x99999999
xor edi, dword [esp]
xor eax, dword [esp + 0xc]
or eax, edi
mov edi, dword [esp + 0xc]
jne 0x43f2c1
cmp ecx, 5
ja 0x43f2c1
mov edx, 0xa
mov eax, dword [esp]
mul edx
add ebx, 1
lea esi, [edi + edi*4]
lea edx, [edx + esi*2]
mov esi, ecx
sar esi, 0x1f
add eax, ecx
adc edx, esi
cmp byte [esp + 0x18], 0x2d
jne 0x43f570
mov ecx, 0x80000000
mov esi, eax
neg esi
sbb ecx, edx
jae 0x43f570
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
movd xmm0, eax
movd xmm1, edx
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x10042f40]
subpd xmm0, xmmword [0x10042f50]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
xorpd xmm1, xmmword [0x1003eaf0]
movlpd qword [ecx + 0x18], xmm1
jmp 0x43eecf
mov ecx, ebx
mov dword [esp + 0x44], ecx
lea edx, [ecx + 1]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x1003f7a8]
add edx, 1
test cl, 3
jne 0x43f513
xor ebx, ebx
cmp byte [esp + 0x24], 0x34
seta bl
add dword [esp], ebx
adc dword [esp + 0xc], 0
lea ebx, [edx - 1]
cmp dword [esp + 8], 0
jne 0x43f5b4
cmp al, 0x2e
jne 0x43f5b0
movzx eax, byte [edx]
test byte [eax + 0x1003f7a8], 3
je 0x43e332
movzx eax, byte [edx + 1]
add edx, 1
movzx ecx, byte [eax + 0x1003f7a8]
test cl, 3
jne 0x43f555
mov dword [esp + 8], ebx
mov ebx, edx
jmp 0x43f5b4
xor ecx, ecx
mov esi, eax
neg esi
sbb ecx, edx
mov dword [esp + 0x24], ecx
xor ecx, ecx
cmp byte [esp + 0x18], 0x2d
sete cl
lea edi, [ecx*8 + 4]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x10], edi
mov edi, dword [esp + 0x24]
cmovne edi, edx
cmovne esi, eax
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], edi
jmp 0x43eecf
mov dword [esp + 8], ebx
lea eax, [ebx - 1]
jmp 0x43f5bc
add eax, 0xffffffff
movzx edx, byte [eax]
cmp dl, 0x30
je 0x43f5b9
cmp dl, 0x2e
je 0x43f5b9
xor edx, edx
mov edi, dword [esp + 8]
sub edi, dword [esp + 0x44]
setb dl
mov dword [esp + 0x20], edx
mov edx, edi
sar edx, 0x1f
add dword [esp + 0x20], edi
adc edx, 0
cmp eax, dword [esp + 0x44]
mov eax, ebx
mov edi, 0
cmovb eax, edi
mov dword [esp + 0x38], eax
mov edi, 0
mov eax, dword [esp + 0x44]
cmovb eax, edi
mov dword [esp + 0x44], eax
mov edi, edx
test cl, 0x20
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
je 0x43f6d6
mov dword [esp + 0x20], ecx
mov dword [esp + 0x50], edi
movzx edx, byte [ebx + 1]
add ebx, 1
mov al, byte [edx + 0x1003f7a8]
and al, 0xc
cmp al, 1
sbb ebx, 0xffffffff
movzx eax, byte [ebx]
test byte [eax + 0x1003f7a8], 3
je 0x442f88
cmp al, 0x30
mov dword [esp + 0x48], edx
jne 0x43f668
movzx eax, byte [ebx + 1]
add ebx, 1
cmp eax, 0x30
je 0x43f64f
test byte [eax + 0x1003f7a8], 3
je 0x43f9f1
mov ecx, eax
xor eax, eax
mov dword [esp + 0x54], ebx
xor edi, edi
mov dword [esp + 0x24], ecx
sar ecx, 0x1f
mov edx, 0xa
mul edx
add eax, dword [esp + 0x24]
lea edi, [edi + edi*4]
lea edi, [edx + edi*2]
adc edi, ecx
movzx ecx, byte [ebx + 1]
add ebx, 1
add eax, 0xffffffd0
adc edi, 0xffffffff
test byte [ecx + 0x1003f7a8], 3
jne 0x43f672
mov ecx, ebx
sub ecx, dword [esp + 0x54]
cmp ecx, 0x13
jge 0x440c8c
xor ecx, ecx
mov edx, eax
neg edx
sbb ecx, edi
cmp byte [esp + 0x48], 0x2d
cmovne ecx, edi
cmovne edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
mov edi, dword [esp + 0x50]
adc edi, ecx
mov ecx, eax
mov edx, dword [esp + 0x2c]
mov eax, 0xfffffea8
cmp eax, ecx
mov eax, 0xffffffff
sbb eax, edi
jge 0x440c5e
cmp ecx, 0x135
sbb edi, 0
jge 0x440cba
mov edi, ecx
mov ecx, 0x200000
mov eax, edi
mov dword [esp + 0x80], edi
lea eax, [edi + 0x16]
cmp eax, 0x2c
ja 0x43f756
cmp dword [esp + 0xc], ecx
jae 0x43f756
movss xmm1, dword [esp]
movss xmm0, dword [esp + 0xc]
unpcklps xmm1, xmm0
unpcklps xmm1, xmmword [0x10042f40]
subpd xmm1, xmmword [0x10042f50]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
test edi, edi
js 0x43f9b4
mulsd xmm0, qword [edi*8 + 0x1003f6f0]
jmp 0x43f9c2
lea eax, [edi + 0x132]
cmp eax, 0x251
ja 0x440d4c
cmp dword [esp + 0x44], 0
jne 0x440d4c
imul eax, edi, 0x3526a
shl edi, 4
mov dword [esp + 0x20], edi
add eax, 0xffc10000
mov dword [esp + 0x48], eax
mov edi, dword [esp + 0xc]
bsr eax, edi
xor eax, 0x1f
mov edx, dword [esp]
bsr ecx, edx
xor ecx, 0x1f
add ecx, 0x20
test edi, edi
cmovne ecx, eax
mov eax, edi
shld eax, edx, cl
mov edi, edx
shl edi, cl
mov dword [esp + 0x54], ecx
test cl, 0x20
cmovne eax, edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x34], 0
mov eax, 0
cmovne edi, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x10040e18]
mov dword [esp + 0x3c], eax
mul edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x5c], edx
mov eax, dword [ecx + 0x10040e1c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], edi
mul edi
mov dword [esp + 0x58], edx
mov ecx, eax
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
mul edi
mov dword [esp + 0x60], edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x24]
mul edi
add ecx, dword [esp + 0x5c]
adc eax, dword [esp + 0x58]
adc edx, 0
add ecx, dword [esp + 0x68]
mov dword [esp + 0x5c], ecx
adc eax, dword [esp + 0x60]
adc edx, 0
mov dword [esp + 0x60], eax
and eax, 0x1ff
add eax, 0xffffffff
mov ecx, 0
adc ecx, 0xffffffff
cmp eax, 0x1fe
sbb ecx, 0
jae 0x43f851
mov esi, dword [esp + 0x60]
jmp 0x43f921
mov dword [esp + 0x98], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x10040e20]
mov dword [esp + 0x90], eax
mov edi, dword [esp + 0x4c]
mul edi
mov dword [esp + 0x68], edx
mov eax, dword [ecx + 0x10040e24]
mov dword [esp + 0x58], eax
mul edi
mov ecx, edx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
mul edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x58]
mul edi
mov edi, dword [esp + 0x94]
add edi, dword [esp + 0x68]
adc ecx, 0
add edi, dword [esp + 0x90]
mov edi, dword [esp + 0x20]
adc edi, 0
add ecx, eax
adc edx, 0
add ecx, edi
adc edx, 0
mov edi, ecx
add edi, dword [esp + 0x70]
mov dword [esp + 0x20], edx
adc edx, dword [esp + 0x5c]
mov dword [esp + 0x68], edi
add edi, 1
mov eax, edx
adc eax, 0
cmp edi, 2
sbb eax, 0
jb 0x440dc1
mov esi, dword [esp + 0x68]
cmp esi, dword [esp + 0x70]
mov eax, edx
sbb eax, dword [esp + 0x5c]
setb al
cmp esi, ecx
sbb edx, dword [esp + 0x20]
setb cl
or cl, al
movzx eax, cl
mov esi, dword [esp + 0x60]
add esi, eax
mov edx, dword [esp + 0x98]
adc edx, 0
mov edi, dword [esp + 0x48]
shr edi, 0x10
mov ecx, edx
not ecx
shr ecx, 0x1f
shld edx, esi, cl
shl esi, cl
mov eax, esi
and eax, 0x400
add eax, esi
adc edx, 0
sub edi, dword [esp + 0x54]
sub edi, ecx
cmp eax, 0x400
mov ecx, edx
sbb ecx, 0
setb cl
mov byte [esp + 0x24], cl
adc edi, 0
mov esi, edx
shr edx, 0xb
and edx, 0xfffff
test cl, cl
mov ecx, 0
cmovne edx, ecx
xor ecx, ecx
shld esi, eax, 0x15
cmp byte [esp + 0x24], 0
cmovne esi, ecx
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
shl eax, 0x1f
or eax, edx
shl edi, 0x14
add edi, 0x47e00000
or eax, edi
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], eax
jmp 0x43eecf
shl edi, 3
mov eax, 0x1003f6f0
sub eax, edi
divsd xmm0, qword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0x14
cmp byte [esp + 0x18], 0x2d
jne 0x43f9e3
xorpd xmm0, xmmword [0x1003eaf0]
movsd qword [eax + 0x18], xmm0
mov dword [esp + 4], ebx
jmp 0x43eed7
xor eax, eax
xor edi, edi
mov dword [esp + 0x54], ebx
jmp 0x43f6a2
add esi, 1
mov dword [esp + 4], esi
mov eax, dword [ebp + 0x10]
test al, 4
jne 0x43faf6
cmp dword [esp + 0x10], 0
mov edx, dword [esp + 0x2c]
je 0x43fafa
jmp 0x43a463
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x28]
mov eax, esi
shr eax, 1
add esi, eax
cmp esi, 0xffffffe
ja 0x43124b
mov dword [esp + 0x28], esi
shl esi, 4
push esi
push edx
push dword [esp + 0x6c]
mov edi, edx
call dword [esp + 0x88]
add esp, 0xc
test eax, eax
je 0x43124b
mov edx, dword [esp + 0x30]
sub edx, edi
add edx, eax
sub ebx, edi
add ebx, eax
mov dword [esp + 0x14], ebx
lea ecx, [esi + eax]
add ecx, 0xffffffe0
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], edx
jmp 0x43e637
mov dword [esp + 4], ecx
mov eax, 0x1004aaa5
mov esi, ecx
xor ecx, ecx
mov edi, dword [esp + 0x78]
cmp esi, edi
setb cl
cmovb edi, esi
mov edx, 0x1004b011
cmovb edx, eax
sub edi, dword [esp + 0x6c]
mov eax, dword [ebp + 0x18]
test eax, eax
lea esi, [esp + 0x84]
cmove eax, esi
mov dword [eax + 8], edi
lea ecx, [ecx*4 + 5]
mov dword [eax], ecx
mov dword [eax + 4], edx
xor esi, esi
cmp dword [esp + 0x2c], 0
je 0x443240
push dword [esp + 0x2c]
jmp 0x44303f
mov esi, ebx
add esi, 1
mov dword [esp + 4], esi
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
jmp 0x43fafa
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x30]
sub ecx, ebx
add ecx, 0x10
mov dword [ebx + 8], ecx
mov ecx, dword [esp + 0x10]
shl ecx, 7
or ecx, 7
mov dword [ebx], ecx
mov dword [ebx + 4], 0
test eax, eax
je 0x43e24a
sub ebx, eax
mov eax, dword [ebx]
mov dword [esp + 0x14], ebx
mov ecx, dword [ebx + 4]
cmp byte [esi], 0xa
jne 0x43fb3f
add esi, 1
mov dword [esp + 4], esi
shld ecx, eax, 0x18
not eax
mov edi, esi
mov ebx, esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], ecx
test al, 7
mov edx, dword [esp + 0x2c]
jne 0x43e145
jmp 0x43eed7
mov al, byte [esi + 1]
or al, 0x20
cmp al, 0x61
jne 0x441136
mov al, byte [esi + 2]
or al, 0x20
cmp al, 0x6e
jne 0x441136
mov eax, dword [esp + 0x1c]
add eax, 0x10
add dword [esp + 0x10], 2
add esi, 3
mov dword [esp + 4], esi
movapd xmm0, xmmword [0x10042f60]
movupd xmmword [eax], xmm0
mov ebx, esi
mov dword [esp + 0x30], eax
jmp 0x43eed3
mov ecx, dword [esp + 4]
movzx edx, word [ecx]
mov eax, dword [esp + 0x2c]
cmp edx, 0x2a2f
jne 0x431348
xor eax, eax
mov edi, dword [esp + 0x78]
cmp edi, ecx
cmova edi, ecx
mov ecx, 0x1004aae4
mov edx, 0x1004b011
cmova edx, ecx
seta al
sub edi, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea esi, [esp + 0x84]
cmove ecx, esi
mov dword [ecx + 8], edi
lea eax, [eax + eax*2]
add eax, 5
jmp 0x440d42
mov edi, eax
cmp cl, 0x5c
jne 0x442394
mov cl, byte [eax + 1]
add cl, 0xde
cmp cl, 0x53
ja 0x441910
movzx ecx, cl
jmp dword [ecx*4 + 0x10042f90]
add eax, 0xfffffffe
mov dword [esp + 4], eax
mov ecx, 0x1004ad28
mov dword [esp], eax
jmp 0x440d0d
cmp al, 0x30
jne 0x4423ae
movzx eax, byte [ebx + 1]
add ebx, 1
mov cl, byte [eax + 0x1003f7a8]
test cl, 0x33
jne 0x4423ce
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
lea eax, [eax*8 + 4]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x18], 0
jmp 0x43eecf
mov dword [esp], eax
lea eax, [ebx + 1]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
jne 0x44240d
mov edx, dword [esp]
mov eax, edx
sar eax, 0x1f
xor ecx, ecx
neg edx
sbb ecx, eax
xor ebx, ebx
cmp byte [esp + 0x18], 0x2d
sete bl
lea esi, [ebx*8 + 4]
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x10], esi
cmovne ecx, eax
cmovne edx, dword [esp]
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], edx
mov dword [edi + 0x1c], ecx
mov ebx, dword [esp + 8]
jmp 0x43eecf
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 2]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x442452
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 3]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x442484
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 4]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x4424b6
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 5]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x4424e8
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 6]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x44251a
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 7]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x44254c
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 8]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x44257e
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 9]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x4425b0
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 0xa]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x4425e2
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 0xb]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x442614
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 0xc]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x442646
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 0xd]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x442678
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 0xe]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x4426aa
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 0xf]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x4426dc
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 0x10]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x44270e
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], ecx
lea eax, [ebx + 0x11]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
je 0x440566
cmp dl, 0x2e
je 0x442740
jmp 0x442831
mov dword [esp], eax
mov dword [esp + 0xc], edi
lea eax, [ebx + 0x12]
mov dword [esp + 8], eax
test byte [edx + 0x1003f7a8], 0x30
jne 0x442828
xor eax, eax
mov ebx, dword [esp]
mov ecx, ebx
neg ecx
mov edi, dword [esp + 0xc]
sbb eax, edi
xor edx, edx
cmp byte [esp + 0x18], 0x2d
sete dl
lea edx, [edx*8 + 4]
mov esi, dword [esp + 0x1c]
mov dword [esi + 0x10], edx
cmovne eax, edi
cmovne ecx, ebx
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], eax
mov ebx, dword [esp + 8]
jmp 0x43eecf
mov dword [esp + 0x24], ebx
cmp al, 0x5c
jne 0x44288c
mov al, byte [ebx + 1]
add al, 0xde
cmp al, 0x53
ja 0x442380
movzx eax, al
jmp dword [eax*4 + 0x100431fc]
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
shl eax, 0x1f
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x18], 0
jmp 0x43f9e8
cmp byte [esp + 0x48], 0x2d
jne 0x440cba
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
shl eax, 0x1f
mov dword [ecx + 0x1c], eax
jmp 0x440261
mov eax, 0x1004ae7c
mov ecx, dword [ebp + 0x10]
test cl, 0x10
je 0x43fa95
cmp byte [esp + 0x18], 0x2d
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x14], 0
mov eax, 0xfff00000
mov ecx, 0x7ff00000
cmove ecx, eax
mov dword [edx + 0x10], 0x14
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x18], 0
jmp 0x43eecf
add ebx, 0xfffffffe
mov dword [esp + 4], ebx
mov ecx, 0x1004ad28
mov dword [esp], ebx
xor eax, eax
mov edi, dword [esp + 0x78]
mov edx, dword [esp]
cmp edx, edi
setb al
cmovb edi, edx
mov edx, 0x1004b011
cmovb edx, ecx
sub edi, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea esi, [esp + 0x84]
cmove ecx, esi
mov dword [ecx + 8], edi
lea eax, [eax + eax*4]
add eax, 5
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x43facd
mov eax, dword [esp + 0xc]
bsr edx, eax
xor edx, 0x1f
bsr ecx, dword [esp]
xor ecx, 0x1f
add ecx, 0x20
test eax, eax
cmovne ecx, edx
mov edx, eax
mov eax, dword [esp]
shld edx, eax, cl
shl eax, cl
mov dword [esp + 0x54], ecx
test cl, 0x20
cmovne edx, eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x34], 0
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x4c], eax
imul eax, edi, 0x3526a
shl edi, 4
add eax, 0xffc10000
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x10040e1c]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x10040e18]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x10040e24]
mov dword [esp + 0x58], eax
mov dword [esp + 0x70], 0
xor eax, eax
cmp dword [esp + 0x44], 0
setne al
shl eax, 2
xor edi, edi
mov ecx, dword [esp + 0x54]
shld edi, eax, cl
shl eax, cl
xor edx, edx
test cl, 0x20
cmovne edi, eax
mov dword [esp + 0x60], edi
cmovne eax, edx
mov dword [esp + 0x20], eax
sar dword [esp + 0x48], 0x10
mov edi, dword [esp + 0x58]
shr edi, 0x1f
add edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
adc ecx, 0
mov eax, edi
imul eax, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov eax, edi
mul dword [esp + 0x4c]
add edx, dword [esp + 0x24]
mov dword [esp + 0x5c], edx
mov eax, ecx
mul dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x34]
imul eax, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], edi
mov eax, edi
mul dword [esp + 0x50]
mov dword [esp + 0x68], eax
mov dword [esp + 0x58], edx
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
imul eax, edi
mov dword [esp + 0x3c], eax
mov eax, ecx
mul dword [esp + 0x50]
mov dword [esp + 0x50], eax
imul edi, ecx
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x4c]
adc ecx, dword [esp + 0x34]
add eax, dword [esp + 0x68]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x58]
adc eax, dword [esp + 0x3c]
add ecx, dword [esp + 0x50]
adc edx, edi
add ecx, eax
adc edx, 0
mov eax, dword [esp + 0x24]
shr eax, 0x1f
add eax, ecx
mov dword [esp + 0x24], eax
adc edx, 0
xor eax, eax
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x60]
or ecx, edi
sete al
mov ecx, dword [esp + 0x20]
sub ecx, eax
sbb edi, 0
add ecx, 9
mov dword [esp + 0x20], ecx
adc edi, 0
bsr eax, edx
xor eax, 0x1f
bsr ecx, dword [esp + 0x24]
xor ecx, 0x1f
add ecx, 0x20
test edx, edx
cmovne ecx, eax
mov eax, dword [esp + 0x24]
shld edx, eax, cl
mov dword [esp + 0x50], edx
shl eax, cl
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x20]
shld edi, edx, cl
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x54]
shl edx, cl
mov dword [esp + 0x20], edx
sub eax, ecx
mov dword [esp + 0x48], eax
test cl, 0x20
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
cmovne edx, eax
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
cmovne edi, eax
mov dword [esp + 0x60], edi
cmovne eax, ecx
mov dword [esp + 0x20], eax
mov eax, 0xfffffb8e
mov ecx, dword [esp + 0x48]
sub eax, ecx
lea edi, [ecx + 0x40]
cmp edi, 0xfffffb8f
mov ecx, 0x40
cmovge ecx, eax
mov eax, 0xb
cmp edi, 0xfffffbc2
jle 0x441160
cmp eax, 0x3d
mov dword [esp + 0x4c], edi
jge 0x441167
mov edi, edx
mov dword [esp + 0x50], edx
mov ecx, eax
shr edi, cl
xor edx, edx
test al, 0x20
mov ecx, edi
cmovne ecx, edx
mov dword [esp + 0x54], ecx
mov ecx, eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
shrd eax, edx, cl
test cl, 0x20
cmovne eax, edi
mov dword [esp + 0x5c], eax
mov edx, 0xffffffff
shl edx, cl
test cl, 0x20
mov eax, 0xffffffff
mov edi, edx
cmove edx, eax
mov eax, 0
cmovne edi, eax
not edi
and edi, dword [esp + 0x24]
not edx
and edx, dword [esp + 0x50]
shld edx, edi, 3
shl edi, 3
mov dword [esp + 0x48], ecx
add cl, 0xff
mov eax, 8
mov dword [esp + 0x24], 0
shld dword [esp + 0x24], eax, cl
shl eax, cl
test cl, 0x20
mov ecx, dword [esp + 0x24]
cmovne ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x3c], eax
add eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
adc ecx, dword [esp + 0x60]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], eax
cmp edi, eax
mov dword [esp + 0x58], edx
mov ecx, edx
mov edx, dword [esp + 0x54]
sbb ecx, dword [esp + 0x34]
setae cl
movzx edi, cl
add edi, dword [esp + 0x5c]
adc edx, 0
mov ecx, edi
or ecx, edx
je 0x441489
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
bsr eax, edx
xor eax, 0x1f
bsr ecx, edi
xor ecx, 0x1f
add ecx, 0x20
test edx, edx
cmovne ecx, eax
mov eax, dword [esp + 0x48]
shld edx, edi, cl
shl edi, cl
test cl, 0x20
cmovne edx, edi
mov dword [esp + 0x54], edx
mov edx, 0
cmove edx, edi
mov edi, edx
sub eax, ecx
cmp eax, 0x3c0
mov edx, dword [esp + 0x3c]
jg 0x44114b
mov ecx, edi
mov edi, dword [esp + 0x54]
shrd ecx, edi, 0xb
mov dword [esp + 0x50], ecx
shr edi, 0xb
cmp eax, 0xfffffbc2
jle 0x441460
shl eax, 0x14
and edi, 0xfffff
add eax, edi
add eax, 0x43e00000
mov dword [esp + 0x48], eax
xor eax, 0x7ff00000
mov edi, dword [esp + 0x50]
or eax, edi
mov eax, dword [esp + 0x24]
je 0x44114b
mov dword [esp + 0x50], edi
sub edx, dword [esp + 0x20]
mov dword [esp + 0x3c], edx
sbb eax, dword [esp + 0x60]
mov edi, eax
mov ecx, dword [esp + 0x68]
cmp ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x58]
mov eax, edx
sbb eax, dword [esp + 0x34]
jae 0x441102
cmp dword [esp + 0x3c], ecx
sbb edi, edx
jb 0x4411d6
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
shl eax, 0x1f
mov edx, dword [esp + 0x48]
or edx, eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
mov eax, dword [esp + 0x50]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
jmp 0x43eecf
mov eax, dword [esp + 0x2c]
jmp 0x431348
mov dword [esp], ebx
mov dword [esp + 4], ebx
jmp 0x43e349
mov eax, dword [ebp + 0x10]
test al, 0x10
jne 0x440ccb
mov eax, 0x1004ae7c
jmp 0x43fa95
mov eax, ecx
jmp 0x440f63
lea ecx, [eax - 0x3c]
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x50]
shrd dword [esp + 0x24], eax, cl
shr dword [esp + 0x50], cl
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x60]
shrd eax, edi, cl
shr edi, cl
test cl, 0x20
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx - 0x3c]
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x24]
cmovne ecx, dword [esp + 0x50]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x50]
mov ecx, 0
cmovne edx, ecx
cmovne eax, edi
cmovne edi, ecx
add eax, 9
mov dword [esp + 0x20], eax
adc edi, 0
mov dword [esp + 0x60], edi
mov eax, 0x3c
jmp 0x440f70
mov ecx, dword [esp + 0x48]
mov eax, ecx
and eax, 0x7ff00000
mov edx, dword [esp + 0x50]
shld ecx, edx, 1
mov edi, 0x200000
lea edx, [edi - 1]
and edx, ecx
mov ecx, eax
shr ecx, 0x14
add ecx, 0xfffffbcc
or edi, edx
test eax, eax
mov eax, 0xfffffbcd
cmovne eax, ecx
mov dword [esp + 0x58], eax
cmove edi, edx
mov eax, dword [esp + 0x50]
lea eax, [eax + eax + 1]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x80]
lea ecx, [esp + 0xb0]
mov edx, dword [esp]
push dword [esp + 8]
push dword [esp + 0x3c]
push dword [esp + 0x4c]
push eax
push dword [esp + 0x1c]
call fcn.0044a41e
add esp, 0x14
mov dword [esp + 0x2b8], 1
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], edi
mov eax, dword [esp + 0x80]
mov dword [esp + 0x68], eax
test eax, eax
js 0x4414a0
cmp dword [esp + 0x68], 0x13
jge 0x4412d1
mov eax, dword [esp + 0x68]
test eax, eax
je 0x441955
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x54], ecx
xor edi, edi
test ecx, ecx
je 0x441694
mov ecx, dword [esp + edi*8 + 0xb8]
or ecx, dword [esp + edi*8 + 0xbc]
jne 0x441694
add edi, 1
cmp dword [esp + 0x54], edi
jne 0x44129f
jmp 0x441955
mov ecx, dword [esp + 0x68]
lea eax, [ecx - 0x13]
cmp ecx, 0x25
mov dword [esp + 0x68], eax
jle 0x441282
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x3c], eax
xor ecx, ecx
test eax, eax
je 0x441303
mov edx, ecx
mov eax, dword [esp + ecx*8 + 0xb8]
or eax, dword [esp + ecx*8 + 0xbc]
jne 0x441303
mov eax, ecx
add eax, 1
mov ecx, eax
cmp dword [esp + 0x3c], eax
jne 0x4412e2
jmp 0x4412c1
cmp ecx, dword [esp + 0x3c]
jae 0x4412c1
mov dword [esp + 8], 0
mov dword [esp + 0x54], 0
mov dword [esp], ecx
mov ecx, dword [esp + ecx*8 + 0xb8]
mov eax, ecx
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
xor eax, eax
mov edx, 0x89e80000
add edx, 0xdf2304
mov dword [esp + 0x44], edx
setb al
mov dword [esp + 0xc], eax
mov edi, ecx
mov eax, ecx
mul dword [esp + 0x44]
mov dword [esp + 0x4c], eax
mov ecx, edx
mov eax, dword [esp]
mov eax, dword [esp + eax*8 + 0xbc]
mov dword [esp + 0x5c], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], edx
imul edi, dword [esp + 0xc]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x5c]
mov eax, edi
mul dword [esp + 0x44]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc]
imul eax, edi
mov edi, dword [esp + 0x4c]
add edi, dword [esp + 0x38]
adc ecx, dword [esp + 0x60]
add edi, dword [esp + 0x34]
adc dword [esp + 0x20], 0
add ecx, dword [esp + 0x44]
adc edx, eax
add ecx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
adc edx, 0
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x24]
and eax, 0xfff80000
mov ecx, dword [esp + 8]
add eax, ecx
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x54]
adc edi, edx
setb byte [esp + 0x44]
cmp eax, ecx
mov ecx, edi
mov eax, edi
sbb ecx, edx
mov edi, dword [esp]
mov dword [esp + edi*8 + 0xbc], eax
setb cl
or cl, byte [esp + 0x44]
movzx eax, cl
add eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + edi*8 + 0xb8], eax
mov edx, dword [esp + 0xc]
adc edx, 0
mov dword [esp + 0x54], edx
add edi, 1
mov ecx, edi
cmp dword [esp + 0x3c], edi
jne 0x441319
mov eax, dword [esp + 8]
or eax, dword [esp + 0x54]
je 0x4412c1
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 1]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + eax*8 + 0xbc], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0xb8], ecx
jmp 0x4412c1
mov ecx, eax
cmp eax, 0xfffffb8f
jl 0x441489
mov edx, edi
mov cl, 0xc3
sub cl, al
mov edi, dword [esp + 0x50]
shrd edi, edx, cl
shr edx, cl
xor eax, eax
test cl, 0x20
cmovne edi, edx
cmove eax, edx
mov dword [esp + 0x48], eax
jmp 0x441493
xor edi, edi
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
jmp 0x4410d0
mov eax, dword [esp + 0x68]
mov ecx, eax
neg ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x44], 1
cmp eax, 0xffffffed
jg 0x4417d5
mov dword [esp + 8], 1
cmp dword [esp + 8], 0
jne 0x4414e4
jmp 0x44150a
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 8], ecx
mov dword [esp + 0x70], eax
cmp dword [esp + 8], 0
je 0x44150a
xor ecx, ecx
mov edx, ecx
mov eax, dword [esp + ecx*8 + 0x2c0]
or eax, dword [esp + ecx*8 + 0x2c4]
jne 0x44150c
mov eax, ecx
add eax, 1
mov ecx, eax
cmp dword [esp + 8], eax
jne 0x4414e6
jmp 0x441664
xor ecx, ecx
cmp ecx, dword [esp + 8]
jae 0x441664
mov dword [esp + 0x54], 0
mov dword [esp + 0x3c], 0
mov dword [esp], ecx
mov ecx, dword [esp + ecx*8 + 0x2c0]
mov eax, ecx
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
xor eax, eax
mov edx, 0x89e80000
add edx, 0xdf2304
mov dword [esp + 0x44], edx
setb al
mov dword [esp + 0xc], eax
mov edi, ecx
mov eax, ecx
mul dword [esp + 0x44]
mov dword [esp + 0x4c], eax
mov ecx, edx
mov eax, dword [esp]
mov eax, dword [esp + eax*8 + 0x2c4]
mov dword [esp + 0x5c], eax
mov edx, 0x89e80000
mul edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], edx
imul edi, dword [esp + 0xc]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x5c]
mov eax, edi
mul dword [esp + 0x44]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc]
imul eax, edi
mov edi, dword [esp + 0x4c]
add edi, dword [esp + 0x38]
adc ecx, dword [esp + 0x60]
add edi, dword [esp + 0x34]
adc dword [esp + 0x20], 0
add ecx, dword [esp + 0x44]
adc edx, eax
add ecx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
adc edx, 0
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x24]
and eax, 0xfff80000
mov ecx, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x3c]
adc edi, edx
setb byte [esp + 0x44]
cmp eax, ecx
mov ecx, edi
mov eax, edi
sbb ecx, edx
mov edi, dword [esp]
mov dword [esp + edi*8 + 0x2c4], eax
setb cl
or cl, byte [esp + 0x44]
movzx eax, cl
add eax, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x24]
mov dword [esp + edi*8 + 0x2c0], eax
mov edx, dword [esp + 0xc]
adc edx, 0
mov dword [esp + 0x3c], edx
add edi, 1
mov ecx, edi
cmp dword [esp + 8], edi
jne 0x441526
mov eax, dword [esp + 0x54]
or eax, dword [esp + 0x3c]
je 0x441664
mov eax, dword [esp + 0x2b8]
lea ecx, [eax + 1]
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + eax*8 + 0x2c4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + eax*8 + 0x2c0], ecx
mov ecx, dword [esp + 0x70]
lea eax, [ecx - 0x13]
cmp ecx, 0x26
jge 0x4414ce
test eax, eax
je 0x441955
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 0x44], ecx
test ecx, ecx
jne 0x4417d9
jmp 0x441955
cmp edi, dword [esp + 0x54]
jae 0x441955
mov ecx, dword [eax*8 + 0x1004226c]
mov dword [esp + 0x60], ecx
mov eax, dword [eax*8 + 0x10042268]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + edi*8 + 0xb8]
mov eax, ecx
mul dword [esp + 0x3c]
mov dword [esp + 0x38], edx
mov dword [esp], eax
mov eax, ecx
mov ecx, dword [esp + 0x60]
mul ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + edi*8 + 0xbc]
mov dword [esp + 0xc], eax
mul dword [esp + 0x3c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xc]
mul ecx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x24]
add edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
adc ecx, 0
add edx, dword [esp + 0x4c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x34]
adc edx, 0
add ecx, eax
mov eax, dword [esp + 0xc]
adc eax, 0
add ecx, edx
mov dword [esp + 0x20], ecx
adc eax, 0
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp]
add eax, ecx
mov dword [esp], eax
mov edx, dword [esp + 8]
adc dword [esp + 0x24], edx
setb byte [esp + 0x38]
cmp eax, ecx
mov eax, dword [esp + 0x24]
mov ecx, eax
sbb ecx, edx
mov dword [esp + edi*8 + 0xbc], eax
setb cl
or cl, byte [esp + 0x38]
movzx eax, cl
add eax, dword [esp + 0x20]
mov dword [esp + 0x44], eax
mov eax, dword [esp]
mov dword [esp + edi*8 + 0xb8], eax
mov edx, dword [esp + 0xc]
adc edx, 0
mov dword [esp + 8], edx
add edi, 1
cmp dword [esp + 0x54], edi
jne 0x4416c4
mov eax, dword [esp + 0x44]
or eax, dword [esp + 8]
je 0x441955
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 1]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 8]
mov dword [esp + eax*8 + 0xbc], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + eax*8 + 0xb8], ecx
jmp 0x441955
mov eax, dword [esp + 0x70]
mov ecx, dword [eax*8 + 0x1004226c]
mov dword [esp + 8], ecx
mov eax, dword [eax*8 + 0x10042268]
mov dword [esp + 0x54], eax
xor ecx, ecx
mov edi, dword [esp + ecx*8 + 0x2c0]
mov edx, dword [esp + ecx*8 + 0x2c4]
mov eax, edi
mov dword [esp + 0xc], edx
or eax, edx
jne 0x441817
add ecx, 1
cmp dword [esp + 0x44], ecx
jne 0x4417f1
jmp 0x441955
cmp ecx, dword [esp + 0x44]
jae 0x441955
add ecx, 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov eax, edi
mul dword [esp + 0x54]
mov dword [esp + 0x34], edx
mov dword [esp], eax
mov eax, edi
mul dword [esp + 8]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0xc]
mov eax, edi
mul dword [esp + 0x54]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x60], eax
mov eax, edi
mul dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0x24]
add edi, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
adc edx, 0
add edi, dword [esp + 0x60]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x4c]
adc edi, 0
add edx, eax
mov eax, dword [esp + 0xc]
adc eax, 0
add edx, edi
mov dword [esp + 0x20], edx
adc eax, 0
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x3c]
mov eax, dword [esp]
add eax, edi
mov dword [esp], eax
mov edx, dword [esp + 0x38]
adc dword [esp + 0x24], edx
setb byte [esp + 0x34]
cmp eax, edi
mov eax, dword [esp + 0x24]
mov edi, eax
sbb edi, edx
mov dword [esp + ecx*8 + 0x2bc], eax
setb ah
or ah, byte [esp + 0x34]
movzx eax, ah
add eax, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [esp]
mov dword [esp + ecx*8 + 0x2b8], eax
mov edx, dword [esp + 0xc]
adc edx, 0
mov dword [esp + 0x38], edx
cmp dword [esp + 0x44], ecx
je 0x441924
mov edi, dword [esp + ecx*8 + 0x2c0]
mov eax, dword [esp + ecx*8 + 0x2c4]
mov dword [esp + 0xc], eax
add ecx, 1
jmp 0x441834
add eax, 1
mov dword [esp + 4], eax
mov ecx, 0x1004ad4c
mov dword [esp], eax
jmp 0x440d0d
mov eax, dword [esp + 0x3c]
or eax, dword [esp + 0x38]
je 0x441955
mov eax, dword [esp + 0x2b8]
lea ecx, [eax + 1]
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + eax*8 + 0x2c4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + eax*8 + 0x2c0], ecx
cmp dword [esp + 0x58], 0
jle 0x441a35
mov eax, dword [esp + 0x58]
mov ecx, eax
shr ecx, 6
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 0x24], ecx
and eax, 0x3f
mov dword [esp + 0x58], eax
je 0x442921
mov eax, dword [esp + 0x24]
mov dword [esp + eax*8 + 0x2c4], 0
mov dword [esp + eax*8 + 0x2c0], 0
test eax, eax
je 0x441e5e
mov ecx, 0x40
sub ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + edx*8 + 0x2b8]
mov edx, dword [esp + edx*8 + 0x2bc]
mov edi, edx
shr edi, cl
shrd eax, edx, cl
xor edx, edx
mov dword [esp + 0x20], ecx
test cl, 0x20
cmovne eax, edi
cmove edx, edi
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
add ecx, edi
mov dword [esp + ecx*8 + 0x2c0], eax
mov dword [esp], ecx
mov dword [esp + ecx*8 + 0x2c4], edx
cmp edi, 1
je 0x441e5e
mov eax, dword [esp + 0x24]
lea ecx, [eax - 1]
mov dword [esp + 0xc], ecx
lea ecx, [esp + eax*8]
add ecx, 0x2b8
cmp eax, 2
jne 0x441b0c
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
test byte [esp + 0x24], 1
jne 0x441c84
mov edx, dword [esp + 0x24]
jmp 0x441d02
mov eax, dword [esp + 0x58]
neg eax
mov ecx, eax
shr ecx, 6
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x24], ecx
and eax, 0x3f
mov dword [esp + 0x58], eax
je 0x442a35
mov eax, dword [esp + 0x24]
mov dword [esp + eax*8 + 0xbc], 0
mov dword [esp + eax*8 + 0xb8], 0
test eax, eax
je 0x442223
mov ecx, 0x40
sub ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + edx*8 + 0xb0]
mov edx, dword [esp + edx*8 + 0xb4]
mov edi, edx
shr edi, cl
shrd eax, edx, cl
xor edx, edx
mov dword [esp + 0x20], ecx
test cl, 0x20
cmovne eax, edi
cmove edx, edi
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
add ecx, edi
mov dword [esp + ecx*8 + 0xb8], eax
mov dword [esp], ecx
mov dword [esp + ecx*8 + 0xbc], edx
cmp edi, 1
je 0x442223
mov eax, dword [esp + 0x24]
lea ecx, [eax - 1]
mov dword [esp + 0xc], ecx
lea ecx, [esp + eax*8]
add ecx, 0xb0
cmp eax, 2
jne 0x441ed7
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
test byte [esp + 0x24], 1
jne 0x442049
mov edx, dword [esp + 0x24]
jmp 0x4420c7
mov eax, dword [esp + 0x24]
add eax, 0xfffffffe
mov edx, 8
mul edx
mov edi, eax
mov eax, dword [esp]
lea eax, [esp + eax*8 + 0x2b8]
mov dword [esp + 8], eax
seto dl
mov eax, edi
mov dword [esp + 0x44], edi
cmp edi, dword [esp + 8]
ja 0x441a19
test dl, dl
jne 0x441a19
mov eax, dword [esp + 0x24]
lea eax, [esp + eax*8]
add eax, 0x2b8
mov dword [esp + 8], eax
cmp dword [esp + 0x44], eax
ja 0x441a19
test dl, dl
jne 0x441a19
mov edi, dword [esp + 0x24]
lea edi, [esp + edi*8]
add edi, 0x2b0
cmp dword [esp + 0x44], edi
ja 0x441a19
test dl, dl
jne 0x441a19
mov edx, dword [esp + 0x34]
lea eax, [esp + edx*8]
add eax, 0x2c8
mov edi, dword [esp]
lea edx, [esp + edi*8]
add edx, 0x2c0
mov edi, dword [esp + 0x24]
lea edi, [esp + edi*8]
add edi, 0x2c0
cmp eax, edi
lea edi, [esp + 0x2c8]
setb byte [esp + 0x24]
cmp edx, edi
seta byte [esp + 0x54]
cmp eax, dword [esp + 8]
setb byte [esp + 8]
lea eax, [esp + 0x2c0]
cmp edx, eax
seta dh
mov al, byte [esp + 0x54]
test byte [esp + 0x24], al
jne 0x441a19
and byte [esp + 8], dh
jne 0x441a19
mov edi, dword [esp]
shl edi, 3
mov edx, dword [esp + 0xc]
and edx, 0xfffffffe
mov eax, edx
neg eax
mov dword [esp], eax
mov dword [esp + 8], edx
lea eax, [edx*8]
sub ecx, eax
lea eax, [esp + 0x2b8]
add edi, eax
add edi, 0xfffffff8
mov edx, dword [esp + 0xc]
and edx, 1
mov dword [esp + 0x24], edx
movd xmm0, dword [esp + 0x58]
movd xmm1, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
add eax, esp
add eax, 0x2b8
xor edx, edx
movdqu xmm2, xmmword [eax + edx*8]
movdqu xmm3, xmmword [eax + edx*8 + 8]
pshufd xmm3, xmm3, 0x4e
psllq xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
psrlq xmm2, xmm1
por xmm2, xmm3
pshufd xmm2, xmm2, 0x4e
movdqu xmmword [edi + edx*8], xmm2
add edx, 0xfffffffe
cmp dword [esp], edx
jne 0x441c3e
mov eax, dword [esp + 8]
cmp dword [esp + 0xc], eax
jne 0x441a21
jmp 0x441e5e
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov edi, edx
mov ecx, dword [esp + 0x58]
shl edi, cl
shld eax, edx, cl
xor edx, edx
test cl, 0x20
cmovne eax, edi
mov dword [esp], eax
cmovne edi, edx
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x24]
mov edx, dword [esp + eax*8 + 0x2bc]
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x20]
shr edx, cl
mov eax, dword [esp + eax*8 + 0x2b8]
mov edi, dword [esp + 0x44]
shrd eax, edi, cl
test cl, 0x20
cmovne eax, edx
mov ecx, 0
cmovne edx, ecx
or edx, dword [esp]
or eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
add ecx, edi
mov dword [esp + ecx*8 + 0x2c0], eax
mov dword [esp + ecx*8 + 0x2c4], edx
lea edx, [edi - 1]
lea ecx, [esp + edi*8]
add ecx, 0x2b8
cmp dword [esp + 0x24], 1
je 0x441e5e
mov eax, dword [esp + 0x34]
lea eax, [esp + eax*8]
add eax, 0x2c0
mov dword [esp + 0xc], eax
mov dword [esp + 0x44], ecx
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
mov edi, eax
mov ecx, dword [esp + 0x58]
shl edi, cl
mov dword [esp + 8], edi
test cl, 0x20
mov ecx, 0
cmovne edi, ecx
mov dword [esp + 0x3c], edi
mov edi, edx
mov dword [esp], edx
mov eax, dword [esp + edx*8 + 0x2bc]
mov dword [esp + 0x38], eax
mov edx, eax
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr edx, cl
mov dword [esp + 0x24], edx
mov edx, dword [esp + edi*8 + 0x2b8]
mov eax, dword [esp + 0x38]
shrd edx, eax, cl
test byte [esp + 0x20], 0x20
mov eax, dword [esp + 0x24]
cmovne edx, eax
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x24], eax
or edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xc]
mov dword [ecx + edi*8], edx
mov edx, dword [esp + edi*8 + 0x2b8]
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x58]
shl edx, cl
mov dword [esp + 0x3c], edx
test cl, 0x20
mov edi, 0
cmovne edx, edi
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x54]
shld eax, edx, cl
test cl, 0x20
cmovne eax, dword [esp + 8]
or eax, dword [esp + 0x24]
mov ecx, dword [esp]
mov edi, dword [esp + ecx*8 + 0x2b0]
mov edx, dword [esp + 0xc]
mov dword [edx + ecx*8 + 4], eax
mov edx, dword [esp + ecx*8 + 0x2bc]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x38]
shld edx, eax, cl
test cl, 0x20
cmovne edx, dword [esp + 0x3c]
mov dword [esp + 0x24], edx
mov eax, dword [esp]
mov edx, dword [esp + eax*8 + 0x2b4]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x20]
shr edx, cl
mov dword [esp + 0x54], edx
test cl, 0x20
mov eax, 0
cmovne edx, eax
mov eax, dword [esp + 8]
shrd edi, eax, cl
test cl, 0x20
cmovne edi, dword [esp + 0x54]
or edx, dword [esp + 0x24]
or edi, dword [esp + 0x44]
mov eax, dword [esp]
mov ecx, dword [esp + 0xc]
mov dword [ecx + eax*8 - 8], edi
mov dword [ecx + eax*8 - 4], edx
lea ecx, [esp + eax*8]
add ecx, 0x2b0
add eax, 0xfffffffe
test eax, eax
mov edx, eax
jne 0x441d1d
mov eax, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2c4]
mov edi, eax
mov ecx, dword [esp + 0x58]
shl edi, cl
shld edx, eax, cl
xor eax, eax
test cl, 0x20
cmovne edx, edi
cmove eax, edi
mov edi, dword [esp + 0x34]
mov dword [esp + edi*8 + 0x2c0], eax
mov dword [esp + edi*8 + 0x2c4], edx
mov eax, dword [esp + 0x2b8]
add eax, edi
mov ecx, dword [esp + eax*8 + 0x2c0]
xor edx, edx
or ecx, dword [esp + eax*8 + 0x2c4]
setne dl
add edx, eax
mov dword [esp + 0x2b8], edx
test edi, edi
je 0x44229c
mov eax, dword [esp + 0x34]
shl eax, 3
push eax
push 0
lea eax, [esp + 0x2c8]
jmp 0x442293
mov eax, dword [esp + 0x24]
add eax, 0xfffffffe
mov edx, 8
mul edx
mov edi, eax
mov eax, dword [esp]
lea eax, [esp + eax*8 + 0xb0]
mov dword [esp + 8], eax
seto dl
mov eax, edi
mov dword [esp + 0x44], edi
cmp edi, dword [esp + 8]
ja 0x441af0
test dl, dl
jne 0x441af0
mov eax, dword [esp + 0x24]
lea eax, [esp + eax*8]
add eax, 0xb0
mov dword [esp + 8], eax
cmp dword [esp + 0x44], eax
ja 0x441af0
test dl, dl
jne 0x441af0
mov edi, dword [esp + 0x24]
lea edi, [esp + edi*8]
add edi, 0xa8
cmp dword [esp + 0x44], edi
ja 0x441af0
test dl, dl
jne 0x441af0
mov edx, dword [esp + 0x34]
lea edx, [esp + edx*8]
add edx, 0xc0
mov edi, dword [esp]
lea eax, [esp + edi*8]
add eax, 0xb8
mov edi, dword [esp + 0x24]
lea edi, [esp + edi*8]
add edi, 0xb8
cmp edx, edi
lea edi, [esp + 0xc0]
setb byte [esp + 0x24]
cmp eax, edi
seta byte [esp + 0x54]
cmp edx, dword [esp + 8]
lea edi, [esp + 0xb8]
setb dl
cmp eax, edi
seta dh
mov al, byte [esp + 0x54]
test byte [esp + 0x24], al
jne 0x441af0
and dl, dh
jne 0x441af0
mov edi, dword [esp]
shl edi, 3
mov edx, dword [esp + 0xc]
and edx, 0xfffffffe
lea eax, [edx*8]
sub ecx, eax
mov dword [esp + 8], edx
neg edx
mov dword [esp], edx
lea eax, [esp + 0xb0]
add edi, eax
add edi, 0xfffffff8
mov edx, dword [esp + 0xc]
and edx, 1
mov dword [esp + 0x24], edx
movd xmm0, dword [esp + 0x58]
movd xmm1, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
add eax, esp
add eax, 0xb0
xor edx, edx
movdqu xmm2, xmmword [eax + edx*8]
movdqu xmm3, xmmword [eax + edx*8 + 8]
pshufd xmm3, xmm3, 0x4e
psllq xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
psrlq xmm2, xmm1
por xmm2, xmm3
pshufd xmm2, xmm2, 0x4e
movdqu xmmword [edi + edx*8], xmm2
add edx, 0xfffffffe
cmp dword [esp], edx
jne 0x442003
mov eax, dword [esp + 8]
cmp dword [esp + 0xc], eax
jne 0x441af8
jmp 0x442223
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov edi, edx
mov ecx, dword [esp + 0x58]
shl edi, cl
shld eax, edx, cl
xor edx, edx
test cl, 0x20
cmovne eax, edi
mov dword [esp], eax
cmovne edi, edx
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x24]
mov edx, dword [esp + eax*8 + 0xb4]
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x20]
shr edx, cl
mov eax, dword [esp + eax*8 + 0xb0]
mov edi, dword [esp + 0x44]
shrd eax, edi, cl
test cl, 0x20
cmovne eax, edx
mov ecx, 0
cmovne edx, ecx
or edx, dword [esp]
or eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
add ecx, edi
mov dword [esp + ecx*8 + 0xb8], eax
mov dword [esp + ecx*8 + 0xbc], edx
lea edx, [edi - 1]
lea ecx, [esp + edi*8]
add ecx, 0xb0
cmp dword [esp + 0x24], 1
je 0x442223
mov eax, dword [esp + 0x34]
lea eax, [esp + eax*8]
add eax, 0xb8
mov dword [esp + 0xc], eax
mov dword [esp + 0x44], ecx
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
mov edi, eax
mov ecx, dword [esp + 0x58]
shl edi, cl
mov dword [esp + 8], edi
test cl, 0x20
mov ecx, 0
cmovne edi, ecx
mov dword [esp + 0x3c], edi
mov edi, edx
mov dword [esp], edx
mov eax, dword [esp + edx*8 + 0xb4]
mov dword [esp + 0x38], eax
mov edx, eax
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr edx, cl
mov dword [esp + 0x24], edx
mov edx, dword [esp + edi*8 + 0xb0]
mov eax, dword [esp + 0x38]
shrd edx, eax, cl
test byte [esp + 0x20], 0x20
mov eax, dword [esp + 0x24]
cmovne edx, eax
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x24], eax
or edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xc]
mov dword [ecx + edi*8], edx
mov edx, dword [esp + edi*8 + 0xb0]
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x58]
shl edx, cl
mov dword [esp + 0x3c], edx
test cl, 0x20
mov edi, 0
cmovne edx, edi
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x54]
shld eax, edx, cl
test cl, 0x20
cmovne eax, dword [esp + 8]
or eax, dword [esp + 0x24]
mov ecx, dword [esp]
mov edi, dword [esp + ecx*8 + 0xa8]
mov edx, dword [esp + 0xc]
mov dword [edx + ecx*8 + 4], eax
mov edx, dword [esp + ecx*8 + 0xb4]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x38]
shld edx, eax, cl
test cl, 0x20
cmovne edx, dword [esp + 0x3c]
mov dword [esp + 0x24], edx
mov eax, dword [esp]
mov edx, dword [esp + eax*8 + 0xac]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x20]
shr edx, cl
mov dword [esp + 0x54], edx
test cl, 0x20
mov eax, 0
cmovne edx, eax
mov eax, dword [esp + 8]
shrd edi, eax, cl
test cl, 0x20
cmovne edi, dword [esp + 0x54]
or edx, dword [esp + 0x24]
or edi, dword [esp + 0x44]
mov eax, dword [esp]
mov ecx, dword [esp + 0xc]
mov dword [ecx + eax*8 - 8], edi
mov dword [ecx + eax*8 - 4], edx
lea ecx, [esp + eax*8]
add ecx, 0xa8
add eax, 0xfffffffe
test eax, eax
mov edx, eax
jne 0x4420e2
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
mov edi, eax
mov ecx, dword [esp + 0x58]
shl edi, cl
shld edx, eax, cl
xor eax, eax
test cl, 0x20
cmovne edx, edi
cmove eax, edi
mov edi, dword [esp + 0x34]
mov dword [esp + edi*8 + 0xb8], eax
mov dword [esp + edi*8 + 0xbc], edx
mov eax, dword [esp + 0xb0]
add eax, edi
mov ecx, dword [esp + eax*8 + 0xb8]
xor edx, edx
or ecx, dword [esp + eax*8 + 0xbc]
setne dl
add edx, eax
mov dword [esp + 0xb0], edx
test edi, edi
je 0x44229c
lea eax, [esp + 0xb8]
mov ecx, dword [esp + 0x34]
shl ecx, 3
push ecx
push 0
push eax
call fcn.0045779e
add esp, 0xc
mov eax, dword [esp + 0xb0]
cmp eax, dword [esp + 0x2b8]
jne 0x44232a
mov dword [esp + 0x20], eax
sub dword [esp + 0x20], 1
jb 0x442332
mov ecx, dword [esp + eax*8 + 0xb0]
mov dword [esp], ecx
mov edi, dword [esp + eax*8 + 0xb4]
mov ecx, dword [esp + eax*8 + 0x2b8]
mov eax, dword [esp + eax*8 + 0x2bc]
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], ecx
cmp ecx, dword [esp]
mov eax, dword [esp + 0x24]
sbb eax, edi
mov eax, 1
cmovb edx, eax
mov eax, dword [esp]
xor eax, ecx
mov dword [esp + 0x44], eax
mov ecx, edi
xor ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
cmp dword [esp], eax
sbb edi, dword [esp + 0x24]
mov edi, 0xffffffff
cmovb edx, edi
or ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
je 0x4422b0
xor ecx, ecx
test edx, edx
setg al
je 0x442332
xor edx, edx
mov cl, al
jmp 0x44233b
setae al
movzx ecx, al
jmp 0x442339
mov ecx, dword [esp + 0x50]
and ecx, 1
xor edx, edx
add ecx, dword [esp + 0x50]
adc edx, dword [esp + 0x48]
mov eax, edx
mov edi, 0x7ff00000
xor eax, edi
or eax, ecx
je 0x44290d
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
shl eax, 0x1f
or edx, eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0x14
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
jmp 0x43eecf
add ebx, 1
mov dword [esp + 4], ebx
mov ecx, 0x1004ad4c
mov dword [esp], ebx
jmp 0x440d0d
cmp cl, 0x22
je 0x43ea0a
mov dword [esp + 4], eax
mov ecx, 0x1004ad01
mov dword [esp], eax
jmp 0x440d0d
mov ecx, eax
mov eax, dword [ebp + 0x10]
test al, 0x10
jne 0x442e78
add ebx, 0xffffffff
mov dword [esp + 4], ebx
mov eax, 0x1004ac3d
mov esi, ebx
jmp 0x43fa95
cmp al, 0x2e
jne 0x442f44
movzx eax, byte [ebx + 1]
test byte [eax + 0x1003f7a8], 3
je 0x4428a2
mov edx, eax
mov eax, ebx
mov ecx, edx
cmp cl, 0x30
je 0x442f20
mov ecx, edx
add ecx, 0xffffffd0
mov dword [esp], ecx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov ebx, eax
jmp 0x442420
mov ecx, dword [esp]
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
cmp dl, 0x2e
jne 0x442831
movzx eax, byte [ebx + 2]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442e1e
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 3]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442d11
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 4]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442d05
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 5]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442cf9
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 6]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442ced
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 7]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442ce1
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 8]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442c96
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 9]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442c8a
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0xa]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442c7e
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0xb]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442bf6
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0xc]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442bea
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0xd]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442bde
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0xe]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442bd2
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0xf]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442ac8
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0x10]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442abc
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0x11]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442ab0
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0x12]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442a9d
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0x13]
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x442a91
mov edx, 0xa
mov eax, dword [esp]
mul edx
mov edi, dword [esp + 0xc]
add edi, edi
lea edi, [edi + edi*4]
add eax, ecx
mov dword [esp], eax
adc edi, edx
mov dword [esp + 0xc], edi
movzx eax, byte [ebx + 0x14]
add ebx, 0x14
mov dword [esp + 0x24], eax
test byte [eax + 0x1003f7a8], 3
mov ecx, ebx
mov dword [esp + 0x38], ebx
jne 0x43f50c
mov eax, dword [esp + 8]
add eax, 1
cmp eax, dword [esp + 0x38]
je 0x442899
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 8]
mov ecx, eax
sar ecx, 0x1f
mov dword [esp + 0x44], 0
mov edi, 1
sub edi, eax
mov edx, 0
sbb edx, ecx
movzx ecx, byte [esp + 0x24]
test byte [ecx + 0x1003f7a8], 0x20
jne 0x442ca2
cmp eax, 0x159
jge 0x442caf
mov dword [esp + 0x44], 0
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
jmp 0x43f6fb
cmp dl, 0x2e
je 0x442772
xor ecx, ecx
xor edi, edi
mov ebx, dword [esp + 8]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], 0
jmp 0x43f61b
cmp al, 0x22
jne 0x4428da
mov edx, dword [esp + 0x24]
jmp 0x43eea9
mov esi, dword [esp + 0x38]
jmp 0x43e321
add ebx, 1
add ebx, 0xffffffff
mov dword [esp + 4], ebx
mov eax, 0x1004aaa5
mov esi, ebx
jmp 0x43fa95
mov dword [esp + 4], ebx
mov ecx, 0x1004ad01
mov dword [esp], ebx
jmp 0x440d0d
mov eax, dword [ebp + 0x10]
test al, 0x10
jne 0x44300b
mov dword [esp + 4], esi
jmp 0x441156
cmp dword [esp + 0x24], 0
je 0x442a8a
cmp dword [esp + 0x24], 4
jb 0x442d66
mov edi, dword [esp + 0x24]
lea eax, [edi - 1]
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x34]
lea edi, [edi + ecx]
lea edx, [esp + edi*8 + 0x2b8]
seto cl
cmp eax, edx
ja 0x442d66
test cl, cl
jne 0x442d66
mov edx, dword [esp + 0x24]
lea edx, [esp + edx*8]
add edx, 0x2b8
cmp eax, edx
ja 0x442d66
test cl, cl
jne 0x442d66
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0x2c0
mov edx, dword [esp + 0x24]
lea edx, [esp + edx*8]
add edx, 0x2c0
cmp ecx, edx
jae 0x4429b9
lea ecx, [esp + edi*8]
add ecx, 0x2c0
lea edx, [esp + 0x2c0]
cmp ecx, edx
ja 0x442d66
mov ecx, dword [esp + 0x24]
and ecx, 0xfffffffc
mov dword [esp + 0x20], ecx
add ecx, 0xfffffffc
mov edx, ecx
shr edx, 2
add edx, 1
mov dword [esp], edx
test ecx, ecx
je 0x442d1d
shl edi, 3
lea ecx, [esp + 0x2b8]
add edi, ecx
add edi, 0xfffffff8
lea ecx, [esp + eax]
add ecx, 0x2b8
mov edx, dword [esp]
and edx, 0xfffffffe
neg edx
xor eax, eax
movups xmm0, xmmword [ecx + eax*8 - 0x10]
movups xmm1, xmmword [ecx + eax*8]
movups xmmword [edi + eax*8], xmm1
movups xmmword [edi + eax*8 - 0x10], xmm0
movdqu xmm0, xmmword [ecx + eax*8 - 0x30]
movdqu xmm1, xmmword [ecx + eax*8 - 0x20]
movdqu xmmword [edi + eax*8 - 0x20], xmm1
movdqu xmmword [edi + eax*8 - 0x30], xmm0
add eax, 0xfffffff8
add edx, 2
jne 0x4429fc
neg eax
jmp 0x442d1f
cmp dword [esp + 0x24], 0
je 0x442aa9
cmp dword [esp + 0x24], 4
jae 0x442ad4
mov edx, dword [esp + 0x24]
lea eax, [edx - 1]
mov dword [esp], eax
and edx, 3
je 0x442c02
mov eax, dword [esp + 0x34]
lea edi, [esp + eax*8]
add edi, 0xb0
mov ecx, dword [esp + 0x24]
lea eax, [ecx - 1]
movq xmm0, qword [esp + ecx*8 + 0xb0]
movq qword [edi + ecx*8], xmm0
mov dword [esp + 0x24], eax
add edx, 0xffffffff
jne 0x442a67
jmp 0x442c06
xor eax, eax
jmp 0x442e04
add ebx, 0x13
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 0x12
mov dword [esp + 0x38], ebx
jmp 0x4427c2
xor eax, eax
jmp 0x442c64
add ebx, 0x11
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 0x10
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 0xf
mov dword [esp + 0x38], ebx
jmp 0x4427c2
mov edi, dword [esp + 0x24]
lea eax, [edi - 1]
mov ecx, 8
mul ecx
mov ecx, dword [esp + 0x34]
lea edi, [edi + ecx]
lea edx, [esp + edi*8 + 0xb0]
seto cl
cmp eax, edx
ja 0x442a47
test cl, cl
jne 0x442a47
mov edx, dword [esp + 0x24]
lea edx, [esp + edx*8]
add edx, 0xb0
cmp eax, edx
ja 0x442a47
test cl, cl
jne 0x442a47
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0xb8
mov edx, dword [esp + 0x24]
lea edx, [esp + edx*8]
add edx, 0xb8
cmp ecx, edx
jae 0x442b56
lea ecx, [esp + edi*8]
add ecx, 0xb8
lea edx, [esp + 0xb8]
cmp ecx, edx
ja 0x442a47
mov ecx, dword [esp + 0x24]
and ecx, 0xfffffffc
mov dword [esp + 0x20], ecx
add ecx, 0xfffffffc
mov edx, ecx
shr edx, 2
add edx, 1
mov dword [esp], edx
test ecx, ecx
je 0x442e2a
shl edi, 3
lea ecx, [esp + 0xb0]
add edi, ecx
add edi, 0xfffffff8
lea ecx, [esp + eax]
add ecx, 0xb0
mov edx, dword [esp]
and edx, 0xfffffffe
neg edx
xor eax, eax
movups xmm0, xmmword [ecx + eax*8 - 0x10]
movups xmm1, xmmword [ecx + eax*8]
movups xmmword [edi + eax*8], xmm1
movups xmmword [edi + eax*8 - 0x10], xmm0
movdqu xmm0, xmmword [ecx + eax*8 - 0x30]
movdqu xmm1, xmmword [ecx + eax*8 - 0x20]
movdqu xmmword [edi + eax*8 - 0x20], xmm1
movdqu xmmword [edi + eax*8 - 0x30], xmm0
add eax, 0xfffffff8
add edx, 2
jne 0x442b99
neg eax
jmp 0x442e2c
add ebx, 0xe
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 0xd
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 0xc
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 0xb
mov dword [esp + 0x38], ebx
jmp 0x4427c2
mov eax, dword [esp + 0x24]
cmp dword [esp], 3
jb 0x442c5d
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0xb0
mov edx, eax
movsd xmm0, qword [esp + eax*8 + 0xb0]
movsd qword [ecx + eax*8], xmm0
movsd xmm0, qword [esp + eax*8 + 0xa8]
movsd qword [ecx + eax*8 - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0xa0]
movsd qword [ecx + eax*8 - 0x10], xmm0
movq xmm0, qword [esp + eax*8 + 0x98]
movq qword [ecx + eax*8 - 0x18], xmm0
add edx, 0xfffffffc
mov eax, edx
jne 0x442c1b
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0xb0], eax
test ecx, ecx
jne 0x442282
jmp 0x44229c
add ebx, 0xa
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 9
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 8
mov dword [esp + 0x38], ebx
jmp 0x4427c2
mov ebx, dword [esp + 0x38]
mov ecx, edi
mov edi, edx
jmp 0x43f61b
xor eax, eax
cmp byte [esp + 0x18], 0x2d
sete al
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x14
shl eax, 0x1f
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x18], 0
mov ebx, dword [esp + 0x38]
jmp 0x43eecf
add ebx, 7
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 6
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 5
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 4
mov dword [esp + 0x38], ebx
jmp 0x4427c2
add ebx, 3
mov dword [esp + 0x38], ebx
jmp 0x4427c2
xor eax, eax
test byte [esp], 1
je 0x442d53
not eax
add eax, dword [esp + 0x24]
movdqu xmm0, xmmword [esp + eax*8 + 0x2a8]
movdqu xmm1, xmmword [esp + eax*8 + 0x2b8]
add eax, dword [esp + 0x34]
movdqu xmmword [esp + eax*8 + 0x2b8], xmm1
movdqu xmmword [esp + eax*8 + 0x2a8], xmm0
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x24], eax
je 0x442dfd
and dword [esp + 0x24], 3
mov edx, dword [esp + 0x24]
lea eax, [edx - 1]
mov dword [esp], eax
and edx, 3
je 0x442da2
mov eax, dword [esp + 0x34]
lea edi, [esp + eax*8]
add edi, 0x2b8
mov ecx, dword [esp + 0x24]
lea eax, [ecx - 1]
movq xmm0, qword [esp + ecx*8 + 0x2b8]
movq qword [edi + ecx*8], xmm0
mov dword [esp + 0x24], eax
add edx, 0xffffffff
jne 0x442d82
jmp 0x442da6
mov eax, dword [esp + 0x24]
cmp dword [esp], 3
jb 0x442dfd
mov ecx, dword [esp + 0x34]
lea ecx, [esp + ecx*8]
add ecx, 0x2b8
mov edx, eax
movsd xmm0, qword [esp + eax*8 + 0x2b8]
movsd qword [ecx + eax*8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2b0]
movsd qword [ecx + eax*8 - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x2a8]
movsd qword [ecx + eax*8 - 0x10], xmm0
movq xmm0, qword [esp + eax*8 + 0x2a0]
movq qword [ecx + eax*8 - 0x18], xmm0
add edx, 0xfffffffc
mov eax, edx
jne 0x442dbb
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x2b8], eax
test ecx, ecx
jne 0x441ec1
jmp 0x44229c
add ebx, 2
mov dword [esp + 0x38], ebx
jmp 0x4427c2
xor eax, eax
test byte [esp], 1
je 0x442e60
not eax
add eax, dword [esp + 0x24]
movdqu xmm0, xmmword [esp + eax*8 + 0xa0]
movdqu xmm1, xmmword [esp + eax*8 + 0xb0]
add eax, dword [esp + 0x34]
movdqu xmmword [esp + eax*8 + 0xb0], xmm1
movdqu xmmword [esp + eax*8 + 0xa0], xmm0
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x24], eax
je 0x442c5d
and dword [esp + 0x24], 3
jmp 0x442a47
mov eax, ecx
add al, 0xb7
cmp al, 0x25
ja 0x4423bb
movzx eax, al
jmp dword [eax*4 + 0x100430e0]
mov eax, ebx
movzx ecx, byte [eax + 2]
add eax, 1
cmp ecx, 0x30
je 0x442f22
mov edx, ecx
mov cl, byte [edx + 0x1003f7a8]
test cl, 3
jne 0x4423f6
add eax, 1
mov ebx, eax
test cl, 3
jne 0x442f9b
test cl, 0x20
je 0x440c93
movzx eax, byte [ebx + 1]
mov al, byte [eax + 0x1003f7a8]
and al, 0xc
cmp al, 1
sbb ebx, 0
movzx eax, byte [ebx + 2]
add ebx, 2
test byte [eax + 0x1003f7a8], 3
je 0x442f88
movzx eax, byte [ebx + 1]
add ebx, 1
test byte [eax + 0x1003f7a8], 3
jne 0x442f73
jmp 0x440c93
add ebx, 0xffffffff
mov dword [esp + 4], ebx
mov eax, 0x1004ac20
mov esi, ebx
jmp 0x43fa95
add ebx, 0xffffffff
mov dword [esp + 4], ebx
mov eax, 0x1004af1e
mov esi, ebx
jmp 0x43fa95
xor eax, eax
cmp byte [esp + 0x18], 0x2d
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x14], 0
mov ecx, 0xfff00000
mov esi, 0x7ff00000
cmove esi, ecx
cmove eax, eax
mov dword [edx + 0x10], 0x14
mov dword [edx + 0x1c], esi
mov dword [edx + 0x18], eax
jmp 0x43eecf
push dword [esp + 0x68]
call dword [esp + 0x7c]
add esp, 8
jmp 0x443240
lea edi, [esp + 4]
movzx eax, byte [esi]
cmp eax, 0x5d
je 0x4430da
cmp al, 0x2c
je 0x4430c6
test byte [eax + 0x1003f5f0], 1
jne 0x44309e
mov eax, dword [ebp + 0x10]
test al, 8
je 0x431346
mov dword [esp + 0x10], ecx
mov dword [esp + 0x40], edx
mov ecx, esi
mov edx, edi
call fcn.0044333e
test al, al
je 0x44324c
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
jmp 0x443053
add esi, 1
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esp + 4], esi
movzx eax, byte [esi]
add esi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x4430ae
add esi, 0xffffffff
jmp 0x443053
add esi, 1
mov dword [esp + 4], esi
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
jmp 0x43104a
mov dword [esp + 0x10], ecx
add esi, 1
mov dword [esp + 4], esi
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x30]
sub ecx, ebx
add ecx, 0x10
mov dword [ebx + 8], ecx
shl edi, 8
or edi, 6
mov dword [ebx], edi
mov dword [ebx + 4], 0
test eax, eax
je 0x4431e3
mov ecx, dword [esp + 0x2c]
sub ecx, eax
mov eax, dword [ecx]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ecx + 1]
not eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], ecx
test al, 7
mov ecx, dword [esp + 0x10]
jne 0x44304f
lea edi, [esp + 4]
movzx eax, byte [esi]
cmp eax, 0x2c
je 0x44319e
mov dword [esp + 0x10], ecx
cmp al, 0x7d
je 0x4431ae
mov dword [esp + 0x40], edx
test byte [eax + 0x1003f5f0], 1
jne 0x44317b
mov eax, dword [ebp + 0x10]
test al, 8
je 0x4432b1
mov ecx, esi
mov edx, edi
call fcn.0044333e
test al, al
je 0x44324c
mov esi, dword [esp + 4]
jmp 0x443194
add esi, 1
mov dword [esp + 4], esi
movzx eax, byte [esi]
add esi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x44317e
add esi, 0xffffffff
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
jmp 0x44313c
add esi, 1
mov dword [esp + 4], esi
mov eax, dword [esp + 0x30]
jmp 0x435562
add esi, 1
mov dword [esp + 4], esi
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x30]
sub ecx, edi
add ecx, 0x10
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x1c]
shl ecx, 7
or ecx, 7
mov dword [edi], ecx
mov dword [edi + 4], 0
test eax, eax
jne 0x443113
mov edi, edx
mov eax, dword [ebp + 0x10]
test al, 2
jne 0x4431f6
cmp esi, dword [esp + 0x78]
jb 0x4432ba
mov esi, edi
lea eax, [edi + 0x20]
mov dword [edi], eax
mov ecx, dword [esp + 0x9c]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0xc], ecx
mov ecx, dword [esp + 0x64]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 4]
sub ecx, dword [esp + 0x6c]
mov dword [edi + 0x14], ecx
mov ecx, dword [esp + 0x30]
sub ecx, eax
sar ecx, 4
add ecx, 1
mov dword [edi + 0x18], ecx
mov eax, dword [esp + 0xa8]
mov dword [edi + 0x1c], eax
lea edi, [esp + 0x84]
jmp 0x431399
mov ecx, dword [esp + 4]
movzx edx, word [ecx]
mov eax, dword [esp + 0x40]
cmp edx, 0x2a2f
jne 0x431348
xor eax, eax
mov edi, dword [esp + 0x78]
cmp edi, ecx
cmova edi, ecx
mov ecx, 0x1004aae4
mov edx, 0x1004b011
cmova edx, ecx
seta al
sub edi, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
lea esi, [esp + 0x84]
cmove ecx, esi
mov dword [ecx + 8], edi
lea eax, [eax + eax*2]
add eax, 5
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor esi, esi
cmp dword [esp + 0x40], 0
je 0x443240
push dword [esp + 0x40]
jmp 0x44303f
mov eax, dword [esp + 0x40]
jmp 0x431348
mov eax, dword [ebp + 0x10]
test al, 8
jne 0x443323
movzx eax, byte [esi]
test byte [eax + 0x1003f5f0], 1
je 0x4432e6
add esi, 1
mov dword [esp + 4], esi
movzx eax, byte [esi]
add esi, 1
test byte [eax + 0x1003f5f0], 1
jne 0x4432d0
add esi, 0xffffffff
cmp esi, dword [esp + 0x78]
jae 0x4431f6
sub esi, dword [esp + 0x6c]
mov eax, dword [ebp + 0x18]
test eax, eax
lea ecx, [esp + 0x84]
cmove eax, ecx
mov dword [eax + 8], esi
mov dword [eax], 4
mov dword [eax + 4], 0x1004aac2
xor esi, esi
test edi, edi
je 0x443240
push edi
jmp 0x44303f
lea edx, [esp + 4]
mov ecx, esi
call fcn.0044333e
mov esi, dword [esp + 4]
cmp esi, dword [esp + 0x78]
jae 0x4431f6
jmp 0x4432f0