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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x3a0
call 0x442644
pop eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
je 0x442722
mov edx, dword [eax + 0x54]
xor edi, edi
cmp ecx, 8
mov esi, 0
jb 0x442705
movdqa xmm2, xmmword [0x7d47b0]
mov esi, ecx
lea edi, [edx + 0x70]
pxor xmm0, xmm0
pxor xmm1, xmm1
and esi, 0xfffffff8
mov ebx, esi
nop dword [eax]
movd xmm3, dword [edi - 0x40]
movd xmm4, dword [edi - 0x50]
movd xmm5, dword [edi - 0x60]
movd xmm6, dword [edi]
movd xmm7, dword [edi - 0x20]
punpckldq xmm4, xmm3
movd xmm3, dword [edi - 0x70]
punpckldq xmm3, xmm5
movd xmm5, dword [edi - 0x10]
punpcklqdq xmm3, xmm4
pcmpeqd xmm3, xmm2
psubd xmm0, xmm3
punpckldq xmm5, xmm6
movd xmm6, dword [edi - 0x30]
sub edi, 0xffffff80
add ebx, 0xfffffff8
punpckldq xmm6, xmm7
punpcklqdq xmm6, xmm5
pcmpeqd xmm6, xmm2
psubd xmm1, xmm6
jne 0x442690
paddd xmm1, xmm0
cmp ecx, esi
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edi, xmm1
je 0x442724
sub ecx, esi
shl esi, 4
add edx, esi
nop dword [eax]
xor ebx, ebx
cmp dword [edx], 2
sete bl
add edx, 0x10
add edi, ebx
dec ecx
jne 0x442710
jmp 0x442724
xor edi, edi
mov ecx, dword [eax + 0x48]
mov edx, dword [ebp + 8]
imul eax, dword [eax + 0x4c], 0x134
nop word cs:[eax + eax]
nop dword [eax + eax]
mov esi, eax
test eax, eax
je 0x44275b
test byte [ecx + 0x11d], 1
lea ecx, [ecx + 0x134]
lea eax, [esi - 0x134]
je 0x442740
mov eax, dword [esp + 0x30]
mov dword [esp + 0x224], esi
mov esi, dword [esp + 0x20]
mov ebx, 1
mov dword [esp + 0x60], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x18], edi
add eax, 8
mov dword [esp + 0x20c], eax
mov eax, dword [edx + 4]
mov dword [esp + 0xa0], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x200], eax
mov dword [esp + 0x220], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], ecx
cmp eax, dword [esp + 0x200]
jae 0x4454ed
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xa0]
mov ecx, eax
inc eax
mov esi, dword [esi + 8]
shl ecx, 4
test byte [esp + 0x34], 1
mov edx, dword [ebx + ecx + 4]
mov ecx, dword [ebx + ecx + 8]
mov dword [ebp + 0xc], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ecx
je 0x442800
mov ebx, dword [esp + 0x14]
jmp 0x443b04
mov edi, dword [esi + 0x144]
mov dword [esp + 0xc], esi
test edi, 0x4000
jne 0x442830
mov eax, dword [esp + 0xc]
test byte [eax + 0x149], 0x40
jne 0x442830
mov eax, dword [esp + 0x3c]
dec eax
cmp eax, 2
jb 0x4428a0
nop dword [eax]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
lea ecx, [esp + 0x120]
mov edx, ebx
push esi
call fcn.004670b0
add esp, 4
mov eax, dword [esp + 0x120]
mov edx, esi
test eax, eax
jne 0x442865
mov ebx, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], edx
mov dword [esp + 0x120], eax
xor eax, eax
cmp byte [esp + 0x60], 0
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x120]
setne al
push eax
call fcn.0044a230
add esp, 4
test eax, eax
jne 0x446fde
cmp dword [esp + 0x40], 2
jne 0x442950
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
movzx eax, word [ecx]
cmp eax, 0x2d2d
jne 0x442962
mov eax, dword [esp + 0x3c]
cmp eax, 1
je 0x442ba6
cmp eax, 2
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jne 0x4436eb
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x448f1e
mov edx, dword [esp + 0xc]
imul edi, eax, 0x134
mov esi, dword [edx + 0x48]
jmp 0x442912
add esi, 0x134
add edi, 0xfffffecc
je 0x448f1e
cmp dword [esi + 0x118], ecx
jne 0x442900
push ecx
push dword [esp + 0x30]
push dword [esi + 0x114]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x442900
test byte [esi + 0x11c], 0x20
jne 0x442c12
mov dword [esp + 0x3c], 2
jmp 0x4436f9
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
jb 0x443aee
movzx eax, word [ecx]
cmp eax, 0x2d2d
jne 0x4429c7
mov esi, dword [esp + 0x40]
add esi, 0xfffffffe
je 0x4429c7
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x120]
lea edx, [eax + 2]
mov dword [esp + 0x1c], edx
push 1
push str.internal_error:_entered_unreachable_code:
mov dword [esp + 0x2c], esi
push esi
call fcn.00462b70
add esp, 0xc
mov eax, dword [esp + 0x120]
test eax, eax
je 0x442a04
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov esi, dword [esp + 0x124]
mov dword [esp + 0x4c], edx
mov edx, eax
mov dword [esp + 0x28], ecx
jmp 0x442a14
mov eax, dword [esp + 0x44]
cmp byte [eax], 0x2d
jne 0x443aee
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
dec eax
mov dword [esp + 0x24], eax
je 0x443af6
mov eax, dword [esp + 0x44]
mov edx, esi
lea esi, [eax + 1]
cmp byte [esi], 0x2d
jne 0x442c1f
mov esi, edx
jmp 0x443af6
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x120]
mov dword [esp + 0x1c], edx
push esi
call fcn.004670b0
add esp, 4
mov eax, dword [esp + 0x120]
test eax, eax
mov dword [esp + 0x24], eax
jne 0x442a49
mov esi, dword [esp + 0x128]
mov eax, dword [esp + 0x124]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
cmp eax, 1
je 0x442ab7
cmp eax, 2
jne 0x442b2f
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x448f0a
mov edx, dword [esp + 0xc]
imul edi, eax, 0x134
mov ebx, dword [edx + 0x48]
jmp 0x442a92
add ebx, 0x134
add edi, 0xfffffecc
je 0x448f0a
cmp dword [ebx + 0x118], ecx
jne 0x442a80
push ecx
push dword [esp + 0x30]
push dword [ebx + 0x114]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x442a80
jmp 0x442b15
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x448f0a
mov edx, dword [esp + 0xc]
imul edi, eax, 0x134
mov ebx, dword [edx + 0x48]
jmp 0x442af2
add ebx, 0x134
add edi, 0xfffffecc
je 0x448f0a
cmp dword [ebx + 0x118], ecx
jne 0x442ae0
push ecx
push dword [esp + 0x30]
push dword [ebx + 0x114]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x442ae0
test byte [ebx + 0x11c], 0x20
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, 0x80000005
jne 0x443ad4
cmp dword [esp + 0x24], 0
je 0x442c8f
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x120]
push esi
call fcn.0071e9b0
add esp, 4
mov esi, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
cmp esi, 0x80000000
jne 0x44354b
test edx, edx
je 0x44352f
mov dword [esp + 0xc], ecx
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov esi, edx
call fcn.0071ee80
mov ecx, dword [esp + 0xc]
mov edx, esi
mov esi, eax
test eax, eax
jne 0x443534
jmp 0x4474cb
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x448f1e
mov edx, dword [esp + 0xc]
imul edi, eax, 0x134
mov esi, dword [edx + 0x48]
jmp 0x442be2
add esi, 0x134
add edi, 0xfffffecc
je 0x448f1e
cmp dword [esi + 0x118], ecx
jne 0x442bd0
push ecx
push dword [esp + 0x30]
push dword [esi + 0x114]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x442bd0
test byte [esi + 0x11c], 0x20
je 0x4436f1
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
jmp 0x443af9
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xb0]
mov edx, esi
push edi
call fcn.004670b0
add esp, 4
cmp dword [esp + 0xb0], 0
mov ebx, esi
je 0x44310d
mov esi, dword [esp + 0xb4]
mov eax, edi
lea ecx, [esp + 0x120]
sub eax, esi
mov dword [esp + 0x38], eax
jb 0x44912f
mov edx, ebx
push esi
call fcn.004670b0
add esp, 4
cmp dword [esp + 0x120], 0
jne 0x44917d
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
add esi, ebx
jmp 0x44311d
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
test edi, edi
mov dword [esp + 0x264], edi
mov dword [esp + 0x260], ebx
je 0x442d06
shl edi, 4
jmp 0x442cb8
add ebx, 0x10
add edi, 0xfffffff0
je 0x442d06
cmp dword [ebx], 1
jne 0x442cb0
cmp dword [ebx + 8], esi
jne 0x442cb0
push esi
push dword [esp + 0x20]
push dword [ebx + 4]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x442cb0
mov eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax + 0x4c]
cmp ecx, edx
jae 0x448b6f
imul ecx, ecx, 0x134
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
add ecx, dword [eax + 0x48]
jmp 0x443570
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x144]
test al, al
mov dword [esp + 0x9c], eax
js 0x442d2c
mov eax, dword [esp + 0xc]
test byte [eax + 0x148], 0x80
je 0x442e70
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x442e70
mov ecx, dword [esp + 0xc]
imul eax, eax, 0x134
mov ecx, dword [ecx + 0x48]
add eax, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x64], eax
jmp 0x442d66
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x24], eax
je 0x442e70
mov eax, dword [esp + 0x24]
lea ecx, [eax + 0x134]
mov eax, dword [eax + 0x120]
mov dword [esp + 0x38], ecx
test eax, eax
je 0x442d9c
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x124], esi
jb 0x442d9c
push esi
push eax
push dword [esp + 0x24]
call fcn.007be090
add esp, 0xc
test eax, eax
je 0x442de0
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x442d54
mov ecx, dword [esp + 0x24]
shl eax, 2
lea ebx, [eax + eax*2]
mov edi, dword [ecx + 0xa0]
add edi, 4
jmp 0x442dc8
add edi, 0xc
add ebx, 0xfffffff4
je 0x442d54
cmp esi, dword [edi]
ja 0x442dc0
push esi
push dword [edi - 4]
push dword [esp + 0x24]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x442dc0
mov eax, dword [esp + 0x38]
jmp 0x442def
mov eax, dword [esp + 0x38]
add eax, 0x134
cmp eax, dword [esp + 0x64]
je 0x44355c
mov dword [esp + 0x38], eax
mov eax, dword [eax + 0x120]
test eax, eax
je 0x442e25
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x124], esi
jb 0x442e25
push esi
push eax
push dword [esp + 0x24]
call fcn.007be090
add esp, 0xc
test eax, eax
je 0x442e70
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x442de6
mov ecx, dword [esp + 0x38]
shl eax, 2
lea ebx, [eax + eax*2]
mov edi, dword [ecx + 0xa0]
add edi, 4
jmp 0x442e58
add edi, 0xc
add ebx, 0xfffffff4
je 0x442de6
cmp esi, dword [edi]
ja 0x442e50
push esi
push dword [edi - 4]
push dword [esp + 0x24]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x442e50
test dword [esp + 0x9c], 0x100
jne 0x442ea1
mov eax, dword [esp + 0xc]
test byte [eax + 0x149], 1
jne 0x442ea1
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x60]
mov eax, dword [eax + 0x64]
test eax, eax
jne 0x443023
jmp 0x443a0f
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x64]
test eax, eax
je 0x443a0f
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x9c], ecx
imul ecx, ecx, 0x16c
mov eax, dword [eax + 0x60]
add ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], ecx
jmp 0x442ee0
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x4c]
je 0x443010
mov ecx, eax
add eax, 0x16c
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x124]
mov dword [esp + 0x38], ecx
test eax, eax
je 0x442ed2
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x128], esi
jb 0x442f17
push esi
push eax
push dword [esp + 0x24]
call fcn.007be090
add esp, 0xc
test eax, eax
je 0x442f60
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x442ed2
mov ecx, dword [esp + 0x38]
shl eax, 2
lea edi, [eax + eax*2]
mov ebx, dword [ecx + 0x3c]
add ebx, 4
jmp 0x442f48
add ebx, 0xc
add edi, 0xfffffff4
je 0x442ed2
cmp dword [ebx], esi
jb 0x442f40
push esi
push dword [ebx - 4]
push dword [esp + 0x24]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x442f40
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x11c]
mov edx, dword [eax + 0x120]
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x4c]
mov dword [esp + 0x64], ecx
je 0x4435ce
mov dword [esp + 0x38], edx
jmp 0x442f9b
mov eax, dword [esp + 0x24]
add eax, 0x16c
cmp eax, dword [esp + 0x4c]
je 0x4437c8
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x124]
test eax, eax
je 0x442f88
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
cmp dword [ebx + 0x128], esi
jb 0x442fcf
push esi
push eax
push dword [esp + 0x24]
call fcn.007be090
add esp, 0xc
test eax, eax
je 0x443a00
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x442f88
mov ecx, dword [esp + 0x24]
shl eax, 2
lea ebx, [eax + eax*2]
mov edi, dword [ecx + 0x3c]
add edi, 4
jmp 0x442ff8
add edi, 0xc
add ebx, 0xfffffff4
je 0x442f88
cmp dword [edi], esi
jb 0x442ff0
push esi
push dword [edi - 4]
push dword [esp + 0x24]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x442ff0
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x443a0f
imul eax, eax, 0x16c
add eax, edi
mov dword [esp + 0x24], eax
jmp 0x443045
mov edi, dword [esp + 0x28]
add edi, 0x16c
cmp edi, dword [esp + 0x24]
je 0x443a0f
mov eax, dword [edi + 0x124]
mov dword [esp + 0x28], edi
test eax, eax
je 0x4430b2
cmp dword [edi + 0x128], esi
jne 0x443071
push esi
push dword [esp + 0x20]
push eax
call fcn.007be090
add esp, 0xc
test eax, eax
je 0x4430f4
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x443031
mov ecx, dword [esp + 0x28]
shl eax, 2
lea edi, [eax + eax*2]
mov ebx, dword [ecx + 0x3c]
add ebx, 4
jmp 0x443098
add ebx, 0xc
add edi, 0xfffffff4
je 0x443031
cmp dword [ebx], esi
jne 0x443090
push esi
push dword [esp + 0x20]
push dword [ebx - 4]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x443090
jmp 0x4430f4
mov eax, dword [edi + 0x40]
test eax, eax
je 0x443031
mov ecx, dword [esp + 0x28]
shl eax, 2
lea edi, [eax + eax*2]
mov ebx, dword [ecx + 0x3c]
add ebx, 4
jmp 0x4430dc
add ebx, 0xc
add edi, 0xfffffff4
je 0x443031
cmp dword [ebx], esi
jne 0x4430d0
push esi
push dword [esp + 0x20]
push dword [ebx - 4]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x4430d0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x11c]
mov esi, dword [eax + 0x120]
mov dword [esp + 0x64], ecx
jmp 0x4437cc
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
xor esi, esi
mov eax, dword [esp + 0x3c]
add ecx, edx
mov dword [esp + 0x228], ebx
mov dword [esp + 0x22c], edi
mov dword [esp + 0x230], edx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x28], esi
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], 0
mov dword [esp + 0x23c], esi
mov dword [esp + 0x1c], ecx
cmp eax, 1
mov dword [esp + 0x240], edx
je 0x44324a
cmp eax, 2
jne 0x443321
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x448fc8
mov edx, dword [esp + 0xc]
imul ebx, eax, 0x134
mov dword [esp + 0x9c], ebx
mov edi, dword [edx + 0x48]
mov esi, edi
jmp 0x4431c2
add esi, 0x134
add ebx, 0xfffffecc
je 0x448fc8
cmp dword [esi + 0x118], ecx
jne 0x4431b0
push ecx
push dword [esp + 0x30]
push dword [esi + 0x114]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x4431b0
test byte [esi + 0x11c], 0x20
mov esi, dword [esp + 0x9c]
je 0x443212
jmp 0x44339c
add edi, 0x134
add esi, 0xfffffecc
je 0x448ff0
mov eax, dword [esp + 0x10]
cmp dword [edi + 0x118], eax
jne 0x443200
push dword [esp + 0x10]
push dword [esp + 0x30]
push dword [edi + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x443200
test byte [edi + 0x11c], 0x40
jne 0x443311
jmp 0x443321
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x448fc8
mov edx, dword [esp + 0xc]
imul ebx, eax, 0x134
mov dword [esp + 0x9c], ebx
mov esi, dword [edx + 0x48]
mov edi, esi
jmp 0x443292
add edi, 0x134
add ebx, 0xfffffecc
je 0x448fc8
cmp dword [edi + 0x118], ecx
jne 0x443280
push ecx
push dword [esp + 0x30]
push dword [edi + 0x114]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x443280
test byte [edi + 0x11c], 0x20
mov edi, dword [esp + 0x9c]
je 0x4432e2
jmp 0x44339c
add esi, 0x134
add edi, 0xfffffecc
je 0x448ff0
mov eax, dword [esp + 0x10]
cmp dword [esi + 0x118], eax
jne 0x4432d0
push dword [esp + 0x10]
push dword [esp + 0x30]
push dword [esi + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x4432d0
test byte [esi + 0x11c], 0x40
je 0x443321
lea ecx, [esp + 0x228]
call fcn.00462e00
test al, al
jne 0x44339c
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x54]
mov ebx, dword [eax + 0x58]
shl ebx, 4
lea edi, [ecx - 0x10]
mov dword [esp + 0x9c], ecx
mov eax, ebx
mov ecx, edi
nop dword [eax]
test eax, eax
je 0x44342c
mov edx, ecx
add eax, 0xfffffff0
add ecx, 0x10
cmp dword [edx + 0x10], 2
jne 0x443340
mov esi, dword [esp + 0x14]
cmp dword [edx + 0x14], esi
jne 0x443340
mov eax, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 0x4c]
cmp ecx, edx
jae 0x448b6f
mov eax, dword [eax + 0x48]
imul ecx, ecx, 0x134
test byte [eax + ecx + 0x11c], 0x40
je 0x44342c
lea ecx, [esp + 0x228]
call fcn.00462e00
test al, al
je 0x44342c
mov dword [esp + 0x90], 0x80000005
mov ecx, 0x80000000
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
movsd xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
movq xmm2, qword [esp + 0x78]
movsd qword [esp + 0x100], xmm1
movq xmm1, qword [esp + 0x80]
mov dword [esp + 0x110], eax
movq qword [esp + 0x108], xmm0
movq qword [esp + 0xf0], xmm2
movq qword [esp + 0xf8], xmm1
mov eax, dword [esp + 0x108]
xor eax, ecx
mov ecx, 4
cmp eax, 9
cmovae eax, ecx
mov eax, dword [eax*4 + 0x4493e0]
add eax, dword [esp + 0x48]
jmp eax
mov eax, ebx
nop
test eax, eax
je 0x444351
mov ecx, edi
add eax, 0xfffffff0
add edi, 0x10
cmp dword [ecx + 0x10], 2
jne 0x443430
mov edx, dword [esp + 0x14]
cmp dword [ecx + 0x14], edx
jne 0x443430
mov eax, dword [esp + 0xc]
mov ecx, dword [edi + 0xc]
mov edx, dword [eax + 0x4c]
cmp ecx, edx
jae 0x448b6f
mov eax, dword [eax + 0x48]
imul ecx, ecx, 0x134
mov eax, dword [eax + ecx + 0x11c]
mov ecx, 0x120
and eax, ecx
cmp eax, 0x20
jne 0x444351
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
je 0x444349
movzx edx, byte [eax]
movzx ecx, dl
test dl, dl
js 0x4434a0
inc eax
jmp 0x4434ff
movzx edi, byte [eax + 1]
and ecx, 0x1f
and edi, 0x3f
cmp dl, 0xdf
jbe 0x4434ed
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp dl, 0xf0
jb 0x4434f7
movzx edx, byte [eax + 3]
shl esi, 6
and ecx, 7
mov edi, ecx
shl edi, 0x12
and edx, 0x3f
or edx, esi
mov ecx, edx
mov edx, dword [esp + 0x28]
or ecx, edi
cmp ecx, 0x110000
je 0x444349
add eax, 4
jmp 0x4434ff
shl ecx, 6
add eax, 2
or ecx, edi
jmp 0x4434ff
shl ecx, 0xc
add eax, 3
or ecx, esi
mov edi, dword [esp + 0x9c]
mov edx, ebx
nop dword [eax + eax]
test edx, edx
je 0x44339c
mov esi, edi
add edx, 0xfffffff0
add edi, 0x10
cmp dword [esi], 0
jne 0x443510
cmp dword [esi + 4], ecx
jne 0x443510
jmp 0x443485
mov esi, 1
mov dword [esp + 0x1c], edx
push edx
push ecx
push esi
call fcn.007bd9b0
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, esi
mov esi, edx
mov dword [esp + 0xb0], esi
mov eax, 0x80000007
jmp 0x443ac6
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 8], 0
mov dword [esp + 0x24], ecx
je 0x443580
cmp dword [ecx + 0x10], 0
je 0x4435d5
mov esi, dword [esp + 0x28]
xor eax, eax
lea ecx, [esp + 0xb0]
test esi, esi
setne al
push eax
push dword [esp + 0x34]
push dword [esp + 0x2c]
push dword [esp + 0x58]
push esi
push 1
call fcn.0044a980
add esp, 0x18
mov eax, dword [esp + 0xc8]
mov esi, dword [esp + 0xb0]
mov cl, 1
mov dword [esp + 0x60], ecx
cmp eax, 0x80000009
jne 0x443ad4
jmp 0x44920a
mov esi, edx
jmp 0x4437cc
cmp dword [esp + 0x28], 0
je 0x443766
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0x68]
mov ecx, edi
mov edx, ebx
call fcn.00439360
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], edi
call fcn.0044ad00
test eax, eax
je 0x443823
mov esi, eax
movzx eax, byte [0x94bfc5]
mov ebx, edx
xor ecx, ecx
mov edx, 0x20
call fcn.0071ee80
test eax, eax
je 0x4491ed
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [esp + 0xf0], 4
mov dword [esp + 0xf4], eax
mov edi, eax
mov ebx, 1
mov dword [esp + 0xf8], 1
mov eax, dword [esp + 0x88]
movq xmm0, qword [esp + 0x78]
movq xmm1, qword [esp + 0x80]
mov dword [esp + 0x130], eax
movq qword [esp + 0x128], xmm1
movq qword [esp + 0x120], xmm0
jmp 0x4436b0
mov dword [edi + ebx*8], esi
mov dword [edi + ebx*8 + 4], edx
inc ebx
mov dword [esp + 0xf8], ebx
lea ecx, [esp + 0x120]
call fcn.0044ad00
test eax, eax
je 0x44372d
cmp ebx, dword [esp + 0xf0]
mov esi, eax
jne 0x4436a1
mov edi, edx
mov edx, ebx
lea ecx, [esp + 0xf0]
push 1
call fcn.007cb080
mov edx, edi
add esp, 4
mov edi, dword [esp + 0xf4]
jmp 0x4436a1
mov esi, dword [esp + 0x20]
jmp 0x443701
mov dword [esp + 0x3c], 1
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov al, 1
mov dword [esp + 0x34], eax
cmp dword [edx], 0
jne 0x4427b0
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x10]
mov dword [ecx], 1
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x10]
jmp 0x4427b0
movq xmm0, qword [esp + 0xf0]
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0x24]
movq qword [esp + 0x50], xmm0
mov dword [esp + 0x58], edx
mov esi, dword [eax + 0x114]
mov edi, dword [eax + 0x118]
cmp edx, dword [esp + 0x50]
je 0x44384d
jmp 0x44385a
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 4
mov dword [esp + 0x128], 0
sub esp, 0x1c
lea eax, [esp + 0x13c]
mov dword [esp + 8], ecx
lea ecx, [esp + 0xcc]
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], 0
mov dword [esp + 4], 2
mov dword [esp], 1
mov dword [esp + 0xc], eax
call fcn.0044aea0
add esp, 0x1c
jmp 0x4435aa
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test esi, esi
je 0x4437f7
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x4437fc
jmp 0x4479e7
mov eax, 1
mov dword [esp + 0xc], eax
push esi
push dword [esp + 0x68]
push eax
call fcn.007bd9b0
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov dword [esp + 0xb0], esi
mov eax, 0x80000000
jmp 0x443ac4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 4
mov dword [esp + 0x58], 0
xor edx, edx
mov esi, dword [eax + 0x114]
mov edi, dword [eax + 0x118]
lea ecx, [esp + 0x50]
call fcn.004c7a80
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], edi
inc edx
lea esi, [esp + 0x120]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x28]
mov ecx, esi
push dword [esp + 0x4c]
call fcn.0071e9b0
add esp, 4
mov ebx, dword [esp + 0x120]
mov eax, dword [esp + 0x128]
mov edi, dword [esp + 0x124]
cmp ebx, 0x80000000
mov dword [esp + 0xc], eax
jne 0x4438e4
test eax, eax
mov ebx, eax
je 0x4438cb
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
mov esi, eax
test eax, eax
jne 0x4438d0
jmp 0x4491fe
mov esi, 1
push ebx
push edi
push esi
call fcn.007bd9b0
add esp, 0xc
mov edi, esi
lea esi, [esp + 0x120]
mov ecx, dword [esp + 0x24]
mov edx, esi
lea eax, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 1
mov dword [esp + 0x13c], 0
mov dword [esp + 0x130], 0x20
mov byte [esp + 0x140], 3
mov dword [esp + 0x120], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], 0x80d094
call fcn.004308f0
test al, al
jne 0x449037
movsd xmm0, qword [esp + 0xf0]
lea ecx, [esp + 0xc8]
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x6c]
movsd qword [ecx], xmm0
movq xmm0, qword [esp + 0x50]
mov dword [ecx + 8], eax
mov dword [ecx - 4], edx
movq qword [ecx - 0xc], xmm0
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], edi
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0xc]
test edi, edi
mov dword [esp + 0xb8], ecx
je 0x4439dd
lea ebx, [esi + 4]
jmp 0x4439c5
add ebx, 0x14
dec edi
je 0x4439dd
cmp dword [ebx - 4], 0
je 0x4439bf
push dword [ebx]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4439bf
cmp dword [esp + 0x68], 0
je 0x4439f3
push esi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
jmp 0x4435aa
mov eax, dword [esp + 0x9c]
test eax, eax
jne 0x443023
mov edx, dword [esp + 0x260]
mov ecx, dword [esp + 0x264]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
add edx, 0xfffffff0
shl ecx, 4
nop dword [eax + eax]
test ecx, ecx
je 0x443a7a
mov eax, edx
add ecx, 0xfffffff0
add edx, 0x10
cmp dword [eax + 0x10], 2
jne 0x443a30
cmp dword [eax + 0x14], ebx
jne 0x443a30
mov eax, dword [esp + 0xc]
mov ecx, dword [edx + 0xc]
mov edx, dword [eax + 0x4c]
cmp ecx, edx
jae 0x448b6f
mov eax, dword [eax + 0x48]
imul ecx, ecx, 0x134
mov ecx, dword [eax + ecx + 0x11c]
mov eax, 0x120
and ecx, eax
mov eax, 0x80000005
cmp ecx, 0x20
je 0x443ad4
test esi, esi
je 0x443a9d
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x443aa2
jmp 0x4479e7
mov eax, 1
mov dword [esp + 0xc], eax
push esi
push dword [esp + 0x20]
push eax
call fcn.007bd9b0
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov eax, 0x80000007
mov dword [esp + 0xb0], esi
mov edx, esi
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
lea ecx, [eax - 0x80000000]
mov edx, 4
cmp ecx, 9
cmovae ecx, edx
cmp ecx, 5
jne 0x443fbd
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov esi, dword [esi + 8]
cmp dword [esp + 0x3c], 1
je 0x444bf4
lea eax, [ebx + 1]
mov dword [esp + 0xc], esi
cmp eax, edi
mov dword [esp + 0x24], eax
jne 0x443bb4
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x443bb4
mov ecx, dword [esi + 0x48]
imul esi, eax, 0x134
mov dword [esp + 0x1c], eax
lea edx, [ecx + 8]
jmp 0x443b5c
mov eax, dword [esp + 0x18]
cmp eax, edi
mov edi, eax
jne 0x443f6f
add edx, 0x134
add esi, 0xfffffecc
je 0x443bb0
cmp dword [edx + 0x118], 0
jne 0x443b4e
cmp dword [edx + 0x2c], 0x110000
jne 0x443b4e
cmp dword [edx], 0
mov edi, dword [edx + 4]
setne bl
cmp edi, dword [edx + 8]
setne bh
cmp edi, 2
mov edi, dword [esp + 0x18]
setae al
or al, bh
test bl, al
mov ebx, dword [esp + 0x14]
jne 0x443b9a
cmp byte [edx + 0x128], 1
jne 0x443b4e
mov edi, dword [edx + 0xc]
test edi, edi
je 0x443b40
mov edi, dword [edx + 0x10]
jmp 0x443b40
mov esi, dword [esp + 0xc]
xor eax, eax
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x58]
add edx, 0xfffffff0
shl ecx, 4
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x443c20
mov esi, edx
add ecx, 0xfffffff0
add edx, 0x10
cmp dword [esi + 0x10], 2
jne 0x443bd0
cmp dword [esi + 0x14], ebx
jne 0x443bd0
mov esi, dword [esp + 0xc]
mov ecx, dword [edx + 0xc]
mov edx, dword [esi + 0x4c]
cmp ecx, edx
jae 0x448b6f
mov edx, dword [esi + 0x48]
imul ecx, ecx, 0x134
cmp dword [edx + ecx + 0x128], 0
setne dl
mov ecx, dword [esi + 0x144]
mov dh, 1
test cl, 0x10
je 0x443c33
jmp 0x443c3f
mov esi, dword [esp + 0xc]
mov dl, 2
mov ecx, dword [esi + 0x144]
mov dh, 1
test cl, 0x10
jne 0x443c3f
mov dh, byte [esi + 0x148]
and dh, 0x10
shr dh, 4
cmp dword [esp + 0x24], edi
sete bl
test byte [esp + 0x34], 1
sete bh
test dl, 1
jne 0x443e30
and dh, bh
and bl, dh
or al, bl
je 0x443e30
mov eax, dword [ebp + 0xc]
cmp eax, dword [esp + 0x200]
jae 0x443e20
cmp dword [esp + 0xa0], 0
je 0x443e20
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x443e20
mov edx, dword [esp + 0xa0]
shl eax, 4
mov esi, dword [edx + eax + 4]
mov eax, dword [edx + eax + 8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], esi
imul esi, ecx, 0x134
mov ecx, esi
mov eax, dword [eax + 0x48]
mov dword [esp + 0x4c], eax
jmp 0x443cd1
add eax, 0x134
add ecx, 0xfffffecc
je 0x443e20
cmp dword [eax + 0x120], 0
jne 0x443cc0
cmp dword [eax + 0x34], 0x110000
jne 0x443cc0
cmp dword [eax + 0x14], 0
je 0x443cc0
mov edx, dword [esp + 0x14]
cmp dword [eax + 0x18], edx
jne 0x443cc0
mov ecx, dword [eax + 0x114]
mov eax, dword [eax + 0x118]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x64], esi
mov dword [esp + 0x1c], ecx
jmp 0x443d22
add edi, 0x134
add esi, 0xfffffecc
je 0x448fa0
cmp dword [edi + 0x118], eax
jne 0x443d10
push eax
push dword [esp + 0x20]
push dword [edi + 0x114]
mov ebx, eax
call fcn.007be090
add esp, 0xc
test eax, eax
mov eax, ebx
jne 0x443d10
test byte [edi + 0x11c], 0x20
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x64]
jne 0x443daf
mov edi, dword [esp + 0x4c]
jmp 0x443d72
add edi, 0x134
add esi, 0xfffffecc
je 0x448fb4
cmp dword [edi + 0x118], eax
jne 0x443d60
push eax
push dword [esp + 0x20]
push dword [edi + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
mov eax, ebx
jne 0x443d60
test byte [edi + 0x11c], 0x40
jne 0x4441e5
cmp dword [esp + 0x38], 2
mov edi, dword [esp + 0x18]
jae 0x4442ed
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
lea ecx, [esp + 0x120]
mov edx, ebx
push esi
call fcn.004670b0
add esp, 4
mov eax, dword [esp + 0x120]
test eax, eax
jne 0x443de2
mov ebx, dword [esp + 0x124]
mov esi, dword [esp + 0x128]
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], esi
mov dword [esp + 0x120], eax
xor eax, eax
cmp byte [esp + 0x60], 0
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x120]
setne al
push eax
call fcn.0044a230
add esp, 4
test eax, eax
je 0x443e63
nop dword [eax]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
jmp 0x443e63
test byte [esp + 0x34], 1
je 0x443e63
test cl, 0x10
mov ecx, dword [esp + 0x224]
mov edx, dword [esp + 0x14]
mov al, 1
jne 0x443e55
movzx eax, byte [esi + 0x148]
and al, 0x10
shr al, 4
test al, al
cmovne edx, edi
test ecx, ecx
cmovne edx, edi
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x58]
add ecx, 0xfffffff0
shl eax, 4
nop dword [eax + eax]
test eax, eax
je 0x444de4
mov edx, ecx
add eax, 0xfffffff0
add ecx, 0x10
cmp dword [edx + 0x10], 2
jne 0x443e80
cmp dword [edx + 0x14], ebx
jne 0x443e80
mov eax, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 0x4c]
cmp ecx, edx
jae 0x448b6f
mov edx, dword [eax + 0x48]
imul eax, ecx, 0x134
test byte [esp + 0x34], 1
mov dword [esp + 0x10], eax
mov eax, dword [edx + eax + 0x11c]
jne 0x443ed6
mov ecx, eax
and ecx, 0x100
jne 0x446881
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
test eax, 0x200
mov eax, 1
mov dword [esp + 0xc], edx
movzx ecx, cl
cmovne ecx, eax
cmp dword [esi], 2
mov eax, esi
mov dword [esp + 0x34], ecx
mov ecx, 0
cmove eax, ecx
mov ecx, dword [esp + 0x10]
lea ecx, [edx + ecx + 0x114]
mov dword [esp + 0x2c], ecx
je 0x444010
mov ecx, dword [esi + 0x18]
mov edx, dword [esp + 0x2c]
cmp ecx, dword [edx + 4]
jne 0x444010
push ecx
mov ecx, dword [esp + 0x30]
push dword [ecx]
push dword [eax + 0x14]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x444010
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
cmp dword [ecx + edx + 8], 0
je 0x443ff9
mov eax, dword [ecx + edx + 0xc]
mov ecx, dword [ecx + edx + 0x10]
mov esi, dword [esp + 0x30]
cmp eax, 1
jbe 0x44400c
jmp 0x444023
mov esi, dword [esp + 0x1c]
xor edx, edx
nop word cs:[eax + eax]
nop
mov eax, dword [ecx + 0x34]
mov ebx, 0x110000
xor eax, ebx
or eax, dword [ecx + 0x120]
cmove edx, ecx
add ecx, 0x134
dec esi
jne 0x443f80
test edx, edx
je 0x443fac
test byte [edx + 0x11d], 1
sete al
jmp 0x443fae
mov al, 2
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
and al, 1
jmp 0x443bb6
mov ecx, dword [ecx*4 + 0x4493bc]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xb8]
add ecx, dword [esp + 0x48]
mov dword [esp + 0xc], edx
jmp ecx
mov eax, 1
mov ecx, 1
mov esi, dword [esp + 0x30]
cmp eax, 1
ja 0x444023
cmp eax, ecx
jne 0x444023
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.0044c860
test eax, eax
jne 0x44754b
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x40]
mov eax, dword [ecx + eax + 0x128]
test eax, eax
je 0x44405d
mov edx, dword [esp + 0x10]
cmp dword [ecx + edx + 0x12c], esi
jne 0x44405d
push esi
push eax
push dword [esp + 0x4c]
call fcn.007be090
add esp, 0xc
test eax, eax
je 0x444196
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
cmp eax, 2
jne 0x44409c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx], 0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 4
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], eax
xor eax, eax
mov dword [edx + 0x18], ecx
mov byte [edx + 0x1c], 2
test byte [esp + 0x34], 1
je 0x4440b7
test eax, eax
jne 0x4440b7
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x10]
mov dword [ecx], 1
mov dword [ecx + 4], eax
test esi, esi
je 0x4440de
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
mov edx, esi
mov esi, eax
test eax, eax
jne 0x4440e5
jmp 0x4474cb
mov edx, esi
mov esi, 1
push edx
push dword [esp + 0x48]
push esi
call fcn.007bd9b0
add esp, 0xc
mov edi, dword [esp + 0x30]
mov edx, dword [edi + 0x10]
cmp edx, dword [edi + 8]
jne 0x44410e
mov ecx, dword [esp + 0x20c]
call fcn.0043e210
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
mov ebx, dword [esp + 0x40]
mov ecx, edx
inc edx
shl ecx, 4
mov dword [eax + ecx], ebx
mov dword [eax + ecx + 4], esi
mov dword [eax + ecx + 8], ebx
mov byte [eax + ecx + 0xc], 0
mov dword [edi + 0x10], edx
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [edx + esi + 0xc]
cmp ecx, dword [edx + esi + 0x10]
setne al
cmp ecx, 2
setae cl
cmp dword [edx + esi + 8], 0
je 0x444152
or al, cl
jne 0x44415c
cmp byte [edx + esi + 0x130], 1
jne 0x44417f
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx + esi + 0x118]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x3c], 2
mov eax, dword [eax]
jmp 0x4441c8
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x3c], 0
inc ebx
jmp 0x4441ba
lea ecx, [esp + 0x120]
mov dword [esp + 0x138], 0x80000002
inc ebx
call fcn.0044e880
mov esi, dword [esp + 0x20]
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x204]
mov dl, 1
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], edx
jmp 0x4427b0
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x120]
push dword [esp + 0x38]
call fcn.004670b0
add esp, 4
xor esi, esi
cmp dword [esp + 0x120], 0
jne 0x44420f
mov esi, dword [esp + 0x124]
jne 0x443da0
mov eax, dword [esp + 0x128]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x443da0
cmp byte [esi], 0x2d
jne 0x443da0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
cmp eax, 1
je 0x443daf
lea edi, [eax - 1]
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x4c], 0
jmp 0x444258
inc ebx
cmp edi, ebx
je 0x4442c5
movzx edx, byte [esi + ebx + 1]
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x444253
cmp edx, 0x2e
je 0x44428e
cmp edx, 0x65
jne 0x443da0
cmp ecx, 1
je 0x443da0
mov ecx, 1
test ebx, ebx
mov dword [esp + 0x64], ebx
jne 0x444253
jmp 0x443da0
test byte [esp + 0x4c], 1
jne 0x443da0
cmp ecx, 1
je 0x443da0
test ebx, ebx
je 0x443da0
mov al, 1
xor ecx, ecx
mov dword [esp + 0x4c], eax
jmp 0x444253
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
test ecx, ecx
je 0x443daf
add eax, 0xfffffffe
cmp dword [esp + 0x64], eax
jne 0x443daf
cmp dword [esp + 0x38], 2
jb 0x443daf
mov eax, dword [esp + 0x28]
movzx eax, word [eax]
cmp eax, 0x2d2d
je 0x44432a
mov eax, dword [esp + 0x28]
cmp byte [eax], 0x2d
jne 0x443daf
cmp dword [esp + 0x38], 1
je 0x443daf
mov eax, dword [esp + 0x28]
movzx eax, word [eax]
cmp eax, 0x2d2d
jne 0x443e20
jmp 0x443daf
cmp dword [esp + 0x38], 2
jne 0x443e20
mov eax, dword [esp + 0x28]
movzx eax, word [eax]
cmp eax, 0x2d2d
jne 0x443e20
jmp 0x4442fb
test edx, edx
jne 0x44339c
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x4c]
xor ebx, ebx
mov dword [esp + 0xc8], 0x80000008
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x10], 0
jmp 0x444390
mov edx, eax
mov esi, dword [esp + 0x20]
sub edx, edi
mov edi, eax
add ebx, edx
mov edx, dword [esp + 0x1c]
sub ecx, 1
jb 0x44441e
cmp edi, edx
je 0x44443c
lea eax, [edi + 1]
mov dword [esp + 0x230], eax
movzx edx, byte [edi]
test dl, dl
jns 0x444380
lea eax, [edi + 2]
cmp dl, 0xe0
mov dword [esp + 0x230], eax
jb 0x444380
movzx esi, byte [edi + 1]
lea eax, [edi + 3]
cmp dl, 0xf0
mov dword [esp + 0x230], eax
jb 0x444380
mov dword [esp + 0xc], ebx
mov ebx, edi
movzx edi, byte [edi + 2]
and esi, 0x3f
movzx edx, dl
lea eax, [ebx + 4]
shl esi, 0xc
and edx, 7
mov dword [esp + 0x230], eax
shl edx, 0x12
and edi, 0x3f
shl edi, 6
or edi, esi
movzx esi, byte [ebx + 3]
and esi, 0x3f
or esi, edi
mov edi, ebx
mov ebx, dword [esp + 0xc]
or esi, edx
cmp esi, 0x110000
jne 0x444380
jmp 0x44443e
mov eax, edi
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x238], ebx
mov dword [esp + 0x4c], ecx
cmp eax, edx
jne 0x444473
jmp 0x4449bd
mov eax, edx
cmp dword [esp + 0x28], 0
mov dword [esp + 0x238], ebx
mov dword [esp + 0x4c], 0
je 0x44445f
mov dword [esp + 0x23c], 0
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
cmp eax, edx
je 0x4449bd
lea edx, [eax + 1]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x230], edx
movzx ebx, byte [eax]
movzx ecx, bl
test bl, bl
jns 0x444505
lea edx, [eax + 2]
and ecx, 0x1f
mov dword [esp + 0x230], edx
movzx esi, byte [eax + 1]
and esi, 0x3f
cmp bl, 0xdf
jbe 0x4444fc
lea edx, [eax + 3]
shl esi, 6
mov dword [esp + 0x230], edx
mov dword [esp + 0x28], edx
movzx edx, byte [eax + 2]
and edx, 0x3f
or edx, esi
cmp bl, 0xf0
jb 0x44476a
lea ebx, [eax + 4]
and ecx, 7
shl edx, 6
mov dword [esp + 0x230], ebx
shl ecx, 0x12
movzx esi, byte [eax + 3]
and esi, 0x3f
or esi, edx
mov edx, ebx
mov ebx, dword [esp + 0xc]
or ecx, esi
mov esi, dword [esp + 0x20]
cmp ecx, 0x110000
jne 0x444509
jmp 0x4449bd
shl ecx, 6
or ecx, esi
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x28], edx
sub edx, eax
mov eax, dword [esi + 8]
mov dword [esp + 0x210], ecx
add ebx, edx
mov dword [esp + 0x238], ebx
mov edi, dword [eax + 0x54]
mov edx, dword [eax + 0x58]
add edi, 0xfffffff0
shl edx, 4
nop
test edx, edx
je 0x444780
mov esi, edi
add edx, 0xfffffff0
add edi, 0x10
cmp dword [esi + 0x10], 0
jne 0x444530
cmp dword [esi + 0x14], ecx
jne 0x444530
mov ecx, dword [edi + 0xc]
mov edx, dword [eax + 0x4c]
mov dword [esp + 0xc], ebx
cmp ecx, edx
jae 0x448b6f
mov eax, dword [eax + 0x48]
imul ecx, ecx, 0x134
mov ebx, dword [esp + 0x14]
cmp dword [eax + ecx + 8], 0
lea esi, [eax + ecx]
je 0x44457f
cmp dword [eax + ecx + 0x10], 0
je 0x444679
mov eax, dword [esp + 0x28]
mov dword [esp + 0x60], esi
cmp eax, dword [esp + 0x1c]
je 0x4445d7
movzx ecx, byte [eax]
test cl, cl
jns 0x4445e7
cmp cl, 0xe0
jb 0x4445e7
cmp cl, 0xf0
jb 0x4445e7
movzx edi, byte [eax + 1]
mov eax, dword [esp + 0x28]
movzx ecx, cl
and ecx, 7
shl ecx, 0x12
movzx edx, byte [eax + 2]
mov eax, dword [esp + 0x28]
and edi, 0x3f
shl edi, 0xc
movzx eax, byte [eax + 3]
and edx, 0x3f
shl edx, 6
or edx, edi
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x4445e7
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x38]
test edx, edx
jne 0x4445fe
xor ebx, ebx
jmp 0x44461a
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
sub edi, ecx
jb 0x44912f
mov eax, dword [esp + 0x64]
lea edx, [eax + ecx]
test edi, edi
mov ebx, edx
cmove ebx, edi
je 0x44461a
cmp byte [edx], 0x3d
lea ecx, [edx + 1]
mov eax, 0
lea edx, [edi - 1]
cmovne ecx, eax
jmp 0x44461e
xor edi, edi
xor ecx, ecx
xor eax, eax
test ecx, ecx
lea esi, [esp + 0x120]
cmovne edi, edx
mov edx, dword [esp + 0x20]
setne al
cmovne ebx, ecx
mov ecx, esi
push eax
push dword [esp + 0x34]
push dword [esp + 0x68]
push edi
push ebx
push 0
call fcn.0044a980
add esp, 0x18
mov eax, dword [esp + 0x138]
cmp eax, 0x80000003
jne 0x444a96
mov ecx, esi
call fcn.0044e880
mov al, 1
mov esi, dword [esp + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
jmp 0x444751
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 4
mov dword [esp + 0x58], 0
sub esp, 0x1c
mov dword [esp + 8], esi
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x10], 0
mov dword [esp + 4], 2
mov dword [esp], 0
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x13c]
mov edx, esi
mov dword [esp + 0x18], eax
call fcn.0044aea0
add esp, 0x1c
cmp dword [esp + 0x138], 0x80000009
je 0x444bcf
lea ecx, [esp + 0xb0]
call fcn.0044e880
mov eax, dword [esp + 0x140]
movsd xmm1, qword [esp + 0x130]
movq xmm0, qword [esp + 0x138]
movq xmm2, qword [esp + 0x120]
mov dword [esp + 0xd0], eax
movsd qword [esp + 0xc0], xmm1
movq xmm1, qword [esp + 0x128]
mov al, 1
movq qword [esp + 0xc8], xmm0
movq qword [esp + 0xb0], xmm2
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
movq qword [esp + 0xb8], xmm1
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
cmp eax, edx
jne 0x444473
jmp 0x4449bd
shl ecx, 0xc
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
or ecx, edx
mov edx, dword [esp + 0x28]
jmp 0x444509
mov edx, dword [eax + 0x64]
test edx, edx
je 0x4447d6
mov eax, dword [eax + 0x60]
imul edx, edx, 0x16c
add edx, eax
mov esi, dword [eax + 0x1c]
cmp esi, 0x110000
je 0x4447a5
cmp esi, ecx
je 0x444841
mov ebx, dword [eax + 0x34]
mov esi, dword [eax + 0x30]
lea edi, [eax + 0x16c]
shl ebx, 3
nop word cs:[eax + eax]
nop
test ebx, ebx
je 0x4447d0
add ebx, 0xfffffff8
cmp dword [esi], ecx
lea esi, [esi + 8]
jne 0x4447c0
jmp 0x444841
cmp edi, edx
mov eax, edi
jne 0x444792
lea ecx, [esp + 0x68]
lea eax, [esp + 0x210]
mov dword [esp + 0x120], 0x84ea48
mov dword [esp + 0x124], 1
mov dword [esp + 0x130], 0
lea edx, [esp + 0x120]
mov dword [esp + 0x128], ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], fcn.0046b520
mov dword [esp + 0x12c], 1
call fcn.00419280
mov esi, dword [esp + 0x20]
mov dword [esp + 0x90], 0x80000007
jmp 0x44486f
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ebx, dword [eax + 0x11c]
mov edi, dword [eax + 0x120]
mov ecx, esi
call fcn.0044c860
test eax, eax
je 0x44487c
mov dword [esp + 0x78], eax
mov dword [esp + 0x90], 0x80000009
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
jmp 0x444914
mov dword [esp + 0xc], ebx
mov ebx, dword [esi + 0xc]
inc ebx
test edi, edi
mov dword [esi + 0xc], ebx
je 0x4448aa
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x4448af
jmp 0x449058
mov eax, 1
mov dword [esp + 0x24], edi
push edi
push dword [esp + 0x10]
mov dword [esp + 0x14], eax
push eax
call fcn.007bd9b0
add esp, 0xc
cmp dword [esi], 0
jne 0x4448d3
mov dword [esi], 1
mov dword [esi + 4], ebx
cmp dword [esp + 0x4c], 0
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
jne 0x4448ee
cmp dword [esp + 0x1c], eax
jne 0x4448ee
mov dword [esi], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x90], 0x80000000
lea ecx, [esp + 0xb0]
call fcn.0044e880
cmp dword [esp + 0x90], 0x80000009
mov ecx, dword [esp + 0x48]
je 0x448b79
movsd xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
movq xmm2, qword [esp + 0x78]
mov edx, 0x80000000
movsd qword [esp + 0x100], xmm1
movq xmm1, qword [esp + 0x80]
mov dword [esp + 0x110], eax
movq qword [esp + 0x108], xmm0
movq qword [esp + 0xf0], xmm2
movq qword [esp + 0xf8], xmm1
mov eax, dword [esp + 0x108]
xor eax, edx
mov edx, 4
cmp eax, 9
cmovae eax, edx
mov eax, dword [eax*4 + 0x4493e0]
add eax, ecx
jmp eax
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x444af8
lea edi, [esp + 0x68]
mov dword [esp + 0x23c], 0
mov ecx, edi
push dword [esp + 0x38]
call fcn.0071e9b0
add esp, 4
lea eax, [esp + 0x114]
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x120]
mov dword [esp + 0x114], edi
mov dword [esp + 0x120], 0x84ea48
mov dword [esp + 0x124], 1
mov dword [esp + 0x130], 0
mov dword [esp + 0x118], 0x418cf0
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 1
call fcn.00419280
test dword [esp + 0x68], 0x7fffffff
mov ebx, dword [esp + 0x14]
je 0x444a65
push dword [esp + 0x6c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
movq xmm0, qword [esp + 0xa4]
mov eax, dword [esp + 0xac]
mov edi, dword [esp + 0x18]
movq qword [esp + 0x78], xmm0
mov dword [esp + 0x80], eax
mov dword [esp + 0x90], 0x80000007
jmp 0x444914
mov edi, dword [esp + 0x18]
cmp eax, 0x80000009
jne 0x444b69
mov eax, dword [esp + 0x120]
mov dword [esp + 0x78], eax
mov dword [esp + 0x90], 0x80000009
jmp 0x444bbc
movsd xmm1, qword [esp + 0xc0]
mov eax, dword [esp + 0xd0]
movq xmm0, qword [esp + 0xc8]
movq xmm2, qword [esp + 0xb0]
mov ebx, dword [esp + 0x14]
movsd qword [esp + 0x88], xmm1
movq xmm1, qword [esp + 0xb8]
mov dword [esp + 0x98], eax
movq qword [esp + 0x90], xmm0
movq qword [esp + 0x78], xmm2
movq qword [esp + 0x80], xmm1
cmp dword [esp + 0x90], 0x80000009
mov ecx, dword [esp + 0x48]
jne 0x444935
jmp 0x448b79
movsd xmm1, qword [esp + 0x130]
mov eax, dword [esp + 0x140]
movq xmm0, qword [esp + 0x138]
movq xmm2, qword [esp + 0x120]
movsd qword [esp + 0x88], xmm1
movq xmm1, qword [esp + 0x128]
mov dword [esp + 0x98], eax
movq qword [esp + 0x90], xmm0
movq qword [esp + 0x78], xmm2
movq qword [esp + 0x80], xmm1
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov al, 1
mov dword [esp + 0x60], eax
jmp 0x444914
mov eax, dword [esp + 0x120]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov al, 1
mov dword [esp + 0x90], 0x80000009
mov dword [esp + 0x60], eax
jmp 0x444914
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x448fdc
mov edi, dword [esi + 0x48]
imul esi, eax, 0x134
jmp 0x444c22
add edi, 0x134
add esi, 0xfffffecc
je 0x448fdc
cmp dword [edi + 0x118], ecx
jne 0x444c10
push ecx
push dword [esp + 0x30]
push dword [edi + 0x114]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x444c10
mov eax, dword [edi + 0x128]
mov esi, dword [esp + 0x20]
test eax, eax
je 0x444c78
mov ecx, dword [esp + 0x40]
cmp dword [edi + 0x12c], ecx
jne 0x444c78
push dword [esp + 0x40]
push eax
push dword [esp + 0x4c]
call fcn.007be090
add esp, 0xc
test eax, eax
je 0x444daa
mov eax, dword [esp + 0x30]
cmp dword [eax], 2
jne 0x444cae
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 4
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov byte [eax + 0x1c], 3
mov esi, dword [esp + 0x40]
test esi, esi
je 0x444cd5
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x444cda
jmp 0x4479e7
mov eax, 1
push esi
push dword [esp + 0x48]
mov dword [esp + 0x18], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov ebx, dword [esp + 0x30]
mov esi, dword [ebx + 0x10]
cmp esi, dword [ebx + 8]
jne 0x444d09
mov ecx, dword [esp + 0x20c]
mov edx, esi
call fcn.0043e210
mov esi, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x40]
mov ecx, esi
inc esi
shl ecx, 4
mov dword [eax + ecx], edx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx + 4], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx + 8], edx
mov byte [eax + ecx + 0xc], 0
mov dword [ebx + 0x10], esi
xor eax, eax
cmp dword [ebx], 2
jne 0x444d3e
mov ebx, dword [esp + 0x14]
jmp 0x444d6f
mov ecx, dword [ebx + 0x18]
mov ebx, dword [esp + 0x14]
cmp ecx, dword [edi + 0x118]
jne 0x444d6f
push ecx
push dword [edi + 0x114]
mov eax, dword [esp + 0x38]
push dword [eax + 0x14]
call fcn.007be090
add esp, 0xc
test eax, eax
mov eax, 0
cmovne esi, eax
mov eax, esi
cmp dword [edi + 8], 0
je 0x4491cd
cmp eax, dword [edi + 0x10]
mov esi, dword [esp + 0x20]
jae 0x444daa
mov eax, dword [edi + 0x114]
mov ecx, dword [edi + 0x118]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x25c], eax
jmp 0x4427a9
lea ecx, [esp + 0x120]
mov dword [esp + 0x138], 0x80000002
call fcn.0044e880
mov eax, dword [esp + 0x25c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], eax
jmp 0x4427a9
mov eax, dword [esp + 0xc]
pxor xmm1, xmm1
movq xmm0, qword [eax + 0x144]
cmp dword [eax + 0x10], 5
lea esi, [eax + 0x10]
mov eax, 0x80d47c
punpckldq xmm0, xmm0
cmovne eax, esi
pand xmm0, xmmword [0x7d47c0]
pcmpeqd xmm1, xmm0
movmskpd ecx, xmm1
cmp ecx, 3
jne 0x444f27
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ecx, esi
call fcn.0044c860
test eax, eax
je 0x444e3a
mov ecx, eax
call fcn.004494f0
mov eax, dword [esp + 0x30]
test byte [esp + 0x34], 1
mov edi, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x10], eax
je 0x445061
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x14], edi
cmp byte [esp + 0x60], 0
mov edi, dword [esp + 0x40]
lea ecx, [esp + 0x120]
mov edx, ebx
setne byte [esp + 0x2c]
push edi
call fcn.004670b0
add esp, 4
mov eax, dword [esp + 0x120]
mov edx, edi
test eax, eax
jne 0x444e96
mov ebx, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
movzx ecx, byte [esp + 0x2c]
mov dword [esp + 0x124], ebx
mov ebx, dword [esi + 8]
mov dword [esp + 0x128], edx
mov dword [esp + 0x120], eax
xor eax, eax
lea edx, [esp + 0x120]
mov al, cl
mov ecx, ebx
push eax
call fcn.0044a230
add esp, 4
test eax, eax
je 0x4452d5
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0xa4]
push dword [esp + 0x40]
call fcn.0071e9b0
add esp, 4
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
test esi, esi
mov dword [esp + 0x10], eax
je 0x4455b7
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
mov edi, eax
test eax, eax
jne 0x4455bc
jmp 0x4479e7
mov edx, dword [eax]
cmp edx, 4
mov ecx, edx
mov dword [esp + 0x1c], edx
jb 0x444f48
mov ecx, dword [eax + 8]
push dword [eax + 4]
call dword [ecx + 0x24]
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x120]
push dword [esp + 0x40]
call fcn.004670b0
add esp, 4
cmp dword [esp + 0x120], 0
jne 0x444f7f
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
je 0x4450ea
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ecx, esi
call fcn.0044c860
test eax, eax
je 0x444f9f
mov ecx, eax
call fcn.004494f0
mov ebx, dword [esi + 8]
movdqa xmm0, xmmword [0x7d4730]
mov ecx, 0xffffffff
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x78]
shl edx, 4
nop dword [eax + eax]
test edx, edx
je 0x44511e
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x444fc0
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [ebx + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x340]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x448878
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x340]
mov edi, dword [esp + 0x344]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor edi, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, edi
or eax, ecx
je 0x445120
jmp 0x448878
mov ebx, dword [esi + 8]
mov esi, dword [esp + 0x40]
mov ecx, dword [ebx + 0x48]
imul eax, dword [ebx + 0x4c], 0x134
nop word cs:[eax + eax]
nop dword [eax]
test eax, eax
je 0x4452dd
mov edx, ecx
add eax, 0xfffffecc
add ecx, 0x134
cmp dword [edx + 0x120], 0
jne 0x445080
cmp dword [edx + 0x34], 0x110000
jne 0x445080
cmp esi, 2
jb 0x4452dd
mov ecx, dword [esp + 0x44]
movzx eax, word [ecx]
cmp eax, 0x2d2d
je 0x447052
xor edx, edx
cmp byte [ecx], 0x2d
jne 0x4452df
cmp esi, 1
je 0x4452df
mov eax, dword [esp + 0x44]
movzx eax, word [eax]
cmp eax, 0x2d2d
setne dl
jmp 0x4452df
cmp dword [esp + 0x40], 0
je 0x445404
js 0x4493b6
movzx eax, byte [0x94bfc5]
mov edi, dword [esp + 0x40]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
mov ebx, eax
test eax, eax
jne 0x44540d
jmp 0x449058
xor esi, esi
test esi, esi
mov eax, 0x8a84f4
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 1
mov dword [esp + 0x50], ebx
mov dword [esp + 0xf8], 0
lea edi, [esp + 0x120]
cmovne eax, esi
mov edx, edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
lea ecx, [eax + 0x1c]
movq xmm0, qword [eax + 0x1c]
movq xmm1, qword [eax + 0x22]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
movq qword [esp + 0x7e], xmm1
movq qword [esp + 0x78], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
test al, al
mov edx, str.e_0m
lea esi, [esp + 0xf0]
mov dword [esp + 0x120], 0x80e984
mov dword [esp + 0x124], 3
mov dword [esp + 0x130], 0
cmovne edx, ecx
xor al, 1
mov ecx, esi
movzx eax, al
mov dword [esp + 0x68], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x68]
mov dword [esp + 0xb4], 0x41c4a0
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xbc], 0x41c480
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 2
push edi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0x50]
mov edx, esi
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, esi
call fcn.00433f20
mov eax, dword [esp + 0xf8]
mov esi, ebx
mov ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0xf4]
mov ecx, 0xb
mov dword [esp + 0x10], eax
call fcn.00431900
mov edx, esi
mov ecx, eax
mov esi, eax
call fcn.00431a10
cmp ebx, 0x80000000
je 0x449372
mov eax, dword [esp + 0x10]
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], edi
mov ecx, esi
mov edx, 0xf
mov dword [esp + 0x12c], eax
lea eax, [esp + 0x120]
mov byte [esp + 0x120], 4
push eax
call fcn.006f02f0
add esp, 4
jmp 0x449372
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
xor edx, edx
cmp dword [ebx + 0x64], 0
je 0x445301
test byte [ebx + 0x145], 0x20
jne 0x445358
test byte [ebx + 0x149], 0x20
sete al
test al, al
je 0x44535e
jmp 0x4453bc
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0xa4]
push esi
call fcn.0071e9b0
add esp, 4
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
test esi, esi
mov dword [esp + 0x10], eax
je 0x445bcf
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
mov edi, eax
test eax, eax
jne 0x445bd4
jmp 0x4479e7
xor eax, eax
test al, al
jne 0x4453bc
cmp byte [esp + 0x60], 0
je 0x4453bc
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
lea ecx, [esp + 0xa4]
push esi
call fcn.0071e9b0
add esp, 4
mov esi, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x14], edi
test esi, esi
je 0x445e4a
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
mov edi, eax
test eax, eax
jne 0x445e4f
jmp 0x4479e7
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x50]
push esi
call fcn.0071e9b0
add esp, 4
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
test edi, edi
je 0x44622e
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x446233
jmp 0x449058
mov edi, dword [esp + 0x40]
mov ebx, 1
push edi
push dword [esp + 0x48]
push ebx
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0xd0]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 4
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0x10
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xb0], 2
pxor xmm1, xmm1
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0x93d1f8
mov dword [esp + 0x80], 0
movq xmm0, qword [ecx + 0x144]
cmp dword [ecx + 0x10], 5
mov ecx, 0x80d47c
punpckldq xmm0, xmm0
cmove esi, ecx
pand xmm0, xmmword [0x7d47c0]
pcmpeqd xmm1, xmm0
movmskpd eax, xmm1
cmp eax, 3
je 0x4490df
mov edx, dword [esi]
mov eax, 0x93d1f8
mov ecx, 0x80d618
mov edx, dword [edx*4 + 0x449404]
add edx, dword [esp + 0x48]
jmp edx
inc eax
mov ecx, 0xffffffff
mov ebx, 0x80000000
cmovne ecx, eax
mov dword [ebp + 0xc], ecx
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x30]
mov ecx, esi
mov edx, ebx
call fcn.0044c860
test eax, eax
jne 0x448a04
mov ecx, esi
mov edx, ebx
mov edi, esi
call fcn.0044f720
test eax, eax
jne 0x448a04
mov ecx, edi
mov edx, ebx
call fcn.0044f8e0
test eax, eax
jne 0x448a04
mov esi, dword [edi + 8]
lea edi, [esp + 0x120]
mov ecx, edi
mov edx, esi
call fcn.00439360
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x12c], esi
lea edx, [esp + 0xb0]
mov ecx, edi
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xb8], eax
push ebx
call fcn.0044fd60
add esp, 4
test dword [esp + 0x48], 0x7fffffff
mov esi, eax
je 0x4455a6
push dword [esp + 0x1c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esp + 0x120]
call fcn.004542f0
jmp 0x44920a
mov edi, 1
push esi
push dword [esp + 0x14]
push edi
call fcn.007bd9b0
add esp, 0xc
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], esi
mov ecx, 0xffffffff
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x78]
shl edx, 4
nop dword [eax]
test edx, edx
je 0x445691
movdqa xmm0, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm0, xmmword [0x7d4730]
pmovmskb esi, xmm0
cmp esi, 0xffff
jne 0x4455f0
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [ebx + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x320]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x448878
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
mov edx, dword [esp + 0x320]
mov edi, dword [esp + 0x324]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor edi, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, edi
or eax, ecx
je 0x445693
jmp 0x448878
xor esi, esi
test esi, esi
mov eax, 0x8a84f4
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 1
mov dword [esp + 0x68], ebx
mov dword [esp + 0xf8], 0
cmovne eax, esi
lea esi, [esp + 0x120]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
lea ecx, [eax + 0x1c]
mov edx, esi
movq xmm0, qword [eax + 0x1c]
movsd xmm1, qword [eax + 0x22]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
movsd qword [esp + 0x7e], xmm1
movq qword [esp + 0x78], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
mov edx, str.e_0m
test al, al
lea edi, [esp + 0xf0]
mov dword [esp + 0x120], 0x80e984
mov dword [esp + 0x124], 3
mov dword [esp + 0x130], 0
cmovne edx, ecx
xor al, 1
mov ecx, edi
movzx eax, al
mov dword [esp + 0x50], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x54], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x50]
mov dword [esp + 0xb4], 0x41c4a0
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xbc], 0x41c480
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 2
push esi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0x68]
mov edx, edi
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, edi
call fcn.00433f20
mov eax, dword [esp + 0xf0]
mov edx, dword [ebx + 0x7c]
mov edi, dword [esp + 0xf4]
movdqa xmm1, xmmword [0x7d4730]
mov ecx, 0xffffffff
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xf8]
shl edx, 4
mov dword [esp + 0x18], edi
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x78]
nop word [eax + eax]
test edx, edx
je 0x4458ad
movdqa xmm0, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm0, xmm1
pmovmskb esi, xmm0
cmp esi, 0xffff
jne 0x445810
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [ebx + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x310]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x448878
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x318]
mov edx, dword [esp + 0x310]
mov edi, dword [esp + 0x314]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor edi, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, edi
or eax, ecx
je 0x4458af
jmp 0x448878
xor esi, esi
test esi, esi
mov edi, 0x8a84f4
mov ecx, 1
cmovne edi, esi
lea eax, [edi + 0x54]
lea ebx, [edi + 0x46]
mov dword [esp + 0x2c], eax
call fcn.00431900
mov edx, dword [esp + 0xc]
mov ecx, eax
mov esi, eax
call fcn.00431a10
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 1
mov dword [esp + 0x58], 0
lea edx, [esp + 0x120]
mov ecx, ebx
movsd xmm0, qword [edi + 0x46]
movsd xmm1, qword [edi + 0x4c]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
movsd qword [esp + 0xf6], xmm1
movsd qword [esp + 0xf0], xmm0
call fcn.00432310
mov edx, 0x93d1f8
test al, al
mov ecx, str.e_0m
mov ebx, str.e_0m
cmovne ecx, edx
xor al, 1
movzx eax, al
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x2c]
shl eax, 2
mov dword [esp + 0x254], eax
movsd xmm0, qword [edi + 0x54]
movsd xmm1, qword [edi + 0x5a]
lea edi, [esp + 0x120]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
mov edx, edi
movsd qword [esp + 0x7e], xmm1
movsd qword [esp + 0x78], xmm0
call fcn.00432310
test al, al
mov ecx, 0x93d1f8
mov dword [esp + 0xb0], 0x80e0fc
mov dword [esp + 0xb4], 6
mov dword [esp + 0xc0], 0
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], 5
mov edx, 0x80d168
cmovne ebx, ecx
xor al, 1
lea ecx, [esp + 0x50]
movzx eax, al
mov dword [esp + 0x210], ebx
shl eax, 2
mov dword [esp + 0x214], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x120], eax
lea eax, [esp + 0x114]
mov dword [esp + 0x124], 0x41c4a0
mov dword [esp + 0x128], eax
lea eax, [esp + 0x250]
mov dword [esp + 0x12c], 0x418cf0
mov dword [esp + 0x130], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x134], 0x41c480
mov dword [esp + 0x138], eax
lea eax, [esp + 0x210]
mov dword [esp + 0x13c], 0x41c4a0
mov dword [esp + 0x140], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x144], 0x41c480
push eax
call fcn.00464980
add esp, 4
movsd xmm0, qword [esp + 0x114]
mov eax, dword [esp + 0x11c]
xor ecx, ecx
mov edx, 0xc
movsd qword [esp + 0x123], xmm0
mov dword [esp + 0x12b], eax
movsd xmm0, qword [esp + 0x120]
movsd xmm1, qword [esp + 0x127]
movsd qword [esp + 0xb0], xmm0
movsd qword [esp + 0xb7], xmm1
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x4490fd
mov ecx, dword [esp + 0x58]
lea edi, [esp + 0x120]
mov edx, edi
mov dword [eax + 8], ecx
mov ecx, esi
movsd xmm0, qword [esp + 0x50]
movsd qword [eax], xmm0
mov byte [esp + 0x120], 1
mov byte [esp + 0x124], 2
movq xmm0, qword [esp + 0xb0]
movq xmm1, qword [esp + 0xb7]
movq qword [esp + 0x125], xmm0
movq qword [esp + 0x12c], xmm1
mov byte [esp + 0x134], 0xe
mov byte [esp + 0x138], 5
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], 1
call fcn.0043f920
mov eax, dword [esp + 0x14]
cmp eax, 0x80000000
je 0x445bb9
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x18]
mov ecx, esi
mov edx, 0xf
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x12c], eax
mov byte [esp + 0x120], 4
push edi
call fcn.006f02f0
add esp, 4
test dword [esp + 0xa4], 0x7fffffff
je 0x44920a
jmp 0x4485ec
mov edi, 1
push esi
push dword [esp + 0x14]
push edi
call fcn.007bd9b0
add esp, 0xc
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], esi
mov dword [esp + 0xb0], 0x80000000
movdqa xmm0, xmmword [0x7d4730]
mov ecx, ebx
mov ecx, 0xffffffff
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x78]
shl edx, 4
nop word [eax + eax]
test edx, edx
je 0x445cbd
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x445c20
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [ebx + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x2c0]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x448878
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x2c0]
mov edi, dword [esp + 0x2c4]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor edi, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, edi
or eax, ecx
je 0x445cbf
jmp 0x448878
xor esi, esi
test esi, esi
mov eax, 0x8a84f4
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 1
mov dword [esp + 0x68], ebx
mov dword [esp + 0x58], 0
cmovne eax, esi
lea esi, [esp + 0x120]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
lea ecx, [eax + 0x1c]
mov edx, esi
movsd xmm0, qword [eax + 0x1c]
movq xmm1, qword [eax + 0x22]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
movq qword [esp + 0xf6], xmm1
movsd qword [esp + 0xf0], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
test al, al
mov edx, str.e_0m
lea edi, [esp + 0x50]
mov dword [esp + 0x120], 0x80e984
mov dword [esp + 0x124], 3
mov dword [esp + 0x130], 0
cmovne edx, ecx
xor al, 1
mov ecx, edi
movzx eax, al
mov dword [esp + 0x210], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x214], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x210]
mov dword [esp + 0x7c], 0x41c4a0
mov dword [esp + 0x80], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x84], 0x41c480
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 2
push esi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0x68]
mov edx, edi
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, edi
call fcn.00433f20
mov eax, dword [esp + 0x58]
movq xmm0, qword [esp + 0x50]
lea edx, [esp + 0x114]
mov ecx, ebx
mov dword [esp + 0x128], eax
movzx eax, byte [esp + 0x38]
movq qword [esp + 0x120], xmm0
push esi
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.0044e920
add esp, 0xc
mov esi, eax
test dword [esp + 0xa4], 0x7fffffff
je 0x44920a
jmp 0x4485ec
mov edi, 1
push esi
push ebx
push edi
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
lea edx, [esp + 0x268]
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], esi
lea eax, [ecx + eax*8]
mov dword [esp + 0x268], ecx
lea ecx, [esp + 0x120]
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], ebx
call fcn.0044f270
cmp dword [esp + 0x120], 0x80000000
jne 0x445ed2
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 4
mov dword [esp + 0x70], 0
mov edi, ebx
jmp 0x445fd2
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x30
call fcn.0071ee80
test eax, eax
je 0x44914b
mov esi, eax
mov eax, dword [esp + 0x128]
mov edi, 1
mov ebx, 0xc
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x120]
movsd qword [esi], xmm0
mov dword [esp + 0x78], 4
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], 1
mov eax, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x268]
mov dword [esp + 0xb8], eax
movsd qword [esp + 0xb0], xmm0
jmp 0x445f74
mov eax, dword [esp + 0x128]
inc edi
mov dword [esi + ebx + 8], eax
movsd xmm0, qword [esp + 0x120]
movsd qword [esi + ebx], xmm0
mov dword [esp + 0x80], edi
add ebx, 0xc
lea ecx, [esp + 0x120]
lea edx, [esp + 0xb0]
call fcn.0044f270
cmp dword [esp + 0x120], 0x80000000
je 0x445fb0
cmp edi, dword [esp + 0x78]
jne 0x445f50
lea ecx, [esp + 0x78]
mov edx, edi
push 1
call fcn.007c1aa0
add esp, 4
mov esi, dword [esp + 0x7c]
jmp 0x445f50
mov ecx, dword [esp + 0x20]
movq xmm0, qword [esp + 0x78]
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0xc]
mov edi, dword [ecx + 8]
movq qword [esp + 0x68], xmm0
mov dword [esp + 0x70], eax
mov edx, dword [edi + 0x7c]
mov eax, dword [edi + 0x78]
movdqa xmm0, xmmword [0x7d4730]
mov ecx, 0xffffffff
shl edx, 4
nop dword [eax + eax]
test edx, edx
je 0x446091
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x445ff0
mov edx, dword [edi + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [edi + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x300]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x448878
mov eax, dword [esp + 0x30c]
mov ebx, dword [esp + 0x304]
mov ecx, dword [esp + 0x308]
mov edx, dword [esp + 0x300]
xor ebx, 0x8bb8d775
xor eax, 0x5c5df57b
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
or eax, ebx
mov ebx, dword [esp + 0xc]
or ecx, edx
or eax, ecx
je 0x446093
jmp 0x448878
xor esi, esi
test esi, esi
mov eax, 0x8a84f4
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 1
mov dword [esp + 0x50], edi
mov dword [esp + 0xf8], 0
cmovne eax, esi
lea esi, [esp + 0x120]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
lea ecx, [eax + 0x1c]
mov edx, esi
movsd xmm0, qword [eax + 0x1c]
movq xmm1, qword [eax + 0x22]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
movq qword [esp + 0x7e], xmm1
movsd qword [esp + 0x78], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
test al, al
mov edx, str.e_0m
lea edi, [esp + 0xf0]
mov dword [esp + 0x120], 0x80e984
mov dword [esp + 0x124], 3
mov dword [esp + 0x130], 0
cmovne edx, ecx
xor al, 1
mov ecx, edi
movzx eax, al
mov dword [esp + 0x210], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x214], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x210]
mov dword [esp + 0xb4], 0x41c4a0
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xbc], 0x41c480
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 2
push esi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0x50]
mov edx, edi
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, edi
call fcn.00433f20
mov eax, dword [esp + 0xf8]
movq xmm0, qword [esp + 0xf0]
lea edx, [esp + 0x114]
mov ecx, ebx
mov dword [esp + 0x128], eax
movq qword [esp + 0x120], xmm0
push esi
lea eax, [esp + 0x6c]
push eax
call fcn.0044f3e0
add esp, 8
test dword [esp + 0xa4], 0x7fffffff
mov esi, eax
je 0x44920a
push dword [esp + 0xa8]
jmp 0x449214
mov eax, 1
push edi
push esi
push eax
mov esi, eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [ebx + 0x60]
imul ecx, dword [ebx + 0x64], 0x16c
mov dword [esp + 0xb0], 2
mov dword [esp + 0xc4], 2
lea edx, [esp + 0xb0]
mov dword [esp + 0x64], esi
add ecx, eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
lea ecx, [esp + 0x120]
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], edi
call fcn.0044f130
cmp dword [esp + 0x128], 0x80000000
mov dword [esp + 0x4c], edi
jne 0x4462bc
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
mov ebx, 4
xor edi, edi
xor ecx, ecx
jmp 0x447719
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x60
mov dword [esp + 0x208], 0
call fcn.0071ee80
test eax, eax
je 0x44915a
movsd xmm0, qword [esp + 0x130]
lea esi, [esp + 0x78]
lea edi, [esp + 0x120]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x204], 0
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x120]
movsd xmm1, qword [esp + 0x128]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esp + 0xf0], 4
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 1
movsd xmm2, qword [esp + 0xd8]
movsd xmm1, qword [esp + 0xd0]
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 0x148], xmm2
movsd qword [esp + 0x140], xmm1
movsd xmm2, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xc0]
movsd qword [esp + 0x150], xmm0
movsd qword [esp + 0x138], xmm2
movsd qword [esp + 0x130], xmm1
movq xmm2, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 0x128], xmm1
movq qword [esp + 0x120], xmm2
jmp 0x44641e
movsd xmm0, qword [esp + 0x88]
mov ecx, dword [esp + 0xa0]
lea eax, [ebx + ebx*2]
add dword [esp + 0x204], 0x18
dec dword [esp + 0x208]
inc ebx
mov dword [esp + 0x18], ebx
movsd qword [ecx + eax*8 + 0x10], xmm0
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
movsd qword [ecx + eax*8 + 8], xmm1
movsd qword [ecx + eax*8], xmm0
mov dword [esp + 0xf8], ebx
mov ecx, esi
mov edx, edi
call fcn.0044f130
cmp dword [esp + 0x80], 0x80000000
je 0x446462
mov ebx, dword [esp + 0x18]
cmp ebx, dword [esp + 0xf0]
jne 0x4463d0
lea ecx, [esp + 0xf0]
mov edx, ebx
call fcn.00737c00
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xa0], eax
jmp 0x4463d0
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xf0]
cmp edi, 0x15
mov dword [esp + 0x9c], esi
jae 0x4468f0
mov esi, dword [esp + 0x20]
cmp edi, 1
jbe 0x446f40
mov ecx, dword [esp + 0xa0]
mov edx, edi
push 1
call fcn.004317e0
add esp, 4
jmp 0x446f48
mov edx, dword [esp + 0x30]
mov ecx, esi
call fcn.0044c860
test eax, eax
je 0x446897
mov ecx, eax
call fcn.004494f0
mov esi, dword [esi + 8]
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0xa4]
push dword [esp + 0x40]
call fcn.0071e9b0
add esp, 4
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
test edi, edi
mov dword [esp + 0x10], eax
je 0x4470de
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
mov ebx, eax
test eax, eax
jne 0x4470e3
jmp 0x449058
lea eax, [edi*4]
xor ecx, ecx
and eax, 0xfffffff8
lea edx, [eax + eax*2]
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x3c], eax
je 0x4491b9
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x80
call fcn.0071ee80
test eax, eax
je 0x4491c3
mov ebx, eax
mov eax, dword [esp + 0xa0]
xor esi, esi
mov dword [esp + 0x220], 0x10
mov dword [esp + 0x18], edi
lea ecx, [eax + 0x30]
add eax, 0xffffffe8
mov dword [esp + 0x224], eax
xor eax, eax
mov dword [esp + 0x28], ecx
jmp 0x446984
mov esi, 1
mov eax, dword [esp + 0x20c]
cmp eax, edi
jae 0x446f1d
mov ecx, dword [esp + 0xa0]
mov edx, edi
mov dword [esp + 0x34], esi
lea esi, [eax + eax*2]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x10], eax
sub edx, eax
cmp edx, 2
lea ecx, [ecx + esi*8]
mov dword [esp + 0xc], ecx
jae 0x4469c0
mov eax, edx
jmp 0x446b40
movsd xmm1, qword [ecx]
movsd xmm0, qword [ecx + 0x18]
mov eax, 2
ucomisd xmm1, xmm0
jbe 0x446a4d
cmp edx, 2
je 0x446a25
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x10]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x28]
lea esi, [eax + esi*8]
mov eax, 2
nop word cs:[eax + eax]
nop dword [eax]
movapd xmm1, xmm0
movsd xmm0, qword [esi]
ucomisd xmm1, xmm0
jbe 0x446a1d
lea ebx, [edi + eax + 1]
inc eax
add esi, 0x18
cmp ebx, 1
jne 0x446a00
mov eax, edx
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, eax
add ebx, edx
jb 0x4490c3
mov esi, dword [esp + 0x34]
cmp ebx, edi
ja 0x4490d1
cmp eax, 2
jae 0x446a9a
mov ecx, dword [esp + 0x10]
jmp 0x446b4b
cmp edx, 2
je 0x446b40
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x10]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x28]
lea esi, [eax + esi*8]
mov eax, 2
movapd xmm1, xmm0
movsd xmm0, qword [esi]
ucomisd xmm1, xmm0
ja 0x446b35
lea ebx, [edi + eax + 1]
inc eax
add esi, 0x18
cmp ebx, 1
jne 0x446a70
mov edi, dword [esp + 0x18]
mov eax, edx
jmp 0x446b40
mov edi, dword [esp + 0x224]
mov edx, eax
lea esi, [ebx + ebx*2]
shr edx, 1
lea esi, [edi + esi*8]
mov edi, ecx
nop dword [eax]
movsd xmm0, qword [edi + 0x10]
movsd qword [esp + 0x130], xmm0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [esp + 0x128], xmm1
movsd qword [esp + 0x120], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [edi + 0x10], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm0
add edi, 0x18
movsd xmm0, qword [esp + 0x130]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [esp + 0x120]
movsd xmm1, qword [esp + 0x128]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
add esi, 0xffffffe8
dec edx
jne 0x446ab0
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
jmp 0x446b4b
mov edi, dword [esp + 0x18]
nop dword [eax]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x34]
lea ebx, [eax + ecx]
mov edx, ebx
sub ebx, ecx
jb 0x449004
cmp edx, edi
ja 0x449004
mov dword [esp + 0x20c], edx
jae 0x446b9b
cmp eax, 0xa
jae 0x446b9b
mov ecx, dword [esp + 0x10]
lea ebx, [ecx + 0xa]
cmp ebx, edi
cmovae ebx, edi
mov dword [esp + 0x20c], ebx
sub ebx, ecx
jb 0x449018
mov ecx, dword [esp + 0xc]
cmp eax, 1
mov edx, ebx
adc eax, 0
push eax
call fcn.004317e0
add esp, 4
cmp esi, dword [esp + 0x220]
jne 0x446c00
movzx eax, byte [0x94bfc5]
mov edx, esi
xor ecx, ecx
shl edx, 4
call fcn.0071ee80
test eax, eax
je 0x44902d
mov ecx, eax
lea eax, [esi + esi]
mov dword [esp + 0x220], eax
lea eax, [esi*8]
push eax
mov esi, dword [esp + 0x4c]
push esi
push ecx
mov dword [esp + 0x18], ecx
call fcn.007bd9b0
add esp, 0xc
push esi
mov esi, dword [esp + 0x38]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xc]
jmp 0x446c04
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
mov dword [eax + esi*8], ebx
mov ebx, eax
mov dword [esp + 0x48], eax
mov dword [eax + esi*8 + 4], ecx
inc esi
cmp esi, 2
jae 0x446c83
jmp 0x446975
mov eax, esi
mov esi, dword [esp + 0x34]
sub ebx, edi
lea ecx, [esi - 1]
mov dword [esp + 0x10], ecx
push ebx
push edi
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x200]
add eax, dword [esp + 0x2c]
mov dword [ebx + ecx*8 + 8], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + ecx*8 + 0xc], eax
not ecx
lea eax, [edx + 8]
add ecx, esi
shl ecx, 3
push ecx
push eax
push edx
call fcn.007bd9b0
add esp, 0xc
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
cmp esi, 1
jbe 0x446970
mov eax, dword [ebx + esi*8 - 8]
mov ecx, dword [ebx + esi*8 - 4]
mov dword [esp + 0x34], esi
add ecx, eax
cmp ecx, edi
je 0x446ce0
mov edx, dword [ebx + esi*8 - 0x10]
cmp edx, eax
jbe 0x446ce0
cmp esi, 2
jbe 0x446efe
mov ecx, dword [ebx + esi*8 - 0x18]
lea edi, [esi - 3]
lea esi, [edx + eax]
cmp ecx, esi
jbe 0x446eed
mov esi, dword [esp + 0x34]
cmp esi, 3
jbe 0x446f08
add edx, ecx
cmp dword [ebx + esi*8 - 0x20], edx
mov edx, dword [esp + 0x18]
jbe 0x446cec
jmp 0x446f16
cmp esi, 3
jb 0x446cf0
mov ecx, dword [ebx + esi*8 - 0x18]
lea edi, [esi - 3]
cmp ecx, eax
jb 0x446cf3
lea edi, [esi - 2]
cmp esi, edi
jbe 0x448f32
lea eax, [edi + 1]
cmp esi, eax
jbe 0x448f40
mov eax, dword [ebx + edi*8 + 8]
mov edx, dword [ebx + edi*8 + 0xc]
mov ecx, dword [ebx + edi*8 + 4]
mov esi, ebx
add edx, eax
mov ebx, edx
sub ebx, ecx
mov dword [esp + 0x14], ebx
jb 0x448f88
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
cmp edx, eax
ja 0x448f92
mov ebx, dword [esi + edi*8]
mov dword [esp + 0x24], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x1c], edi
lea ecx, [ecx + eax*8]
lea eax, [ebx + ebx*2]
mov dword [esp + 0x2c], ebx
lea esi, [ecx + eax*8]
lea eax, [edx + edx*2]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x48]
sub edx, ebx
cmp edx, ebx
lea eax, [eax + edi*8]
mov dword [esp + 0x200], eax
jae 0x446e30
lea eax, [edx*8]
mov dword [esp + 0xc], edx
lea ebx, [eax + eax*2]
push ebx
push esi
mov edi, dword [esp + 0x44]
push edi
call fcn.007bd9b0
add esp, 0xc
add ebx, edi
cmp dword [esp + 0x2c], 0
jle 0x446c20
cmp dword [esp + 0xc], 0
jle 0x446c20
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x60]
lea eax, [eax + ecx*8]
movsd xmm0, qword [esi - 0x18]
movsd xmm1, qword [ebx - 0x18]
xor ecx, ecx
xor edx, edx
ucomisd xmm0, xmm1
setbe cl
seta dl
neg ecx
neg edx
ucomisd xmm0, xmm1
lea ecx, [ecx + ecx*2]
lea edx, [edx + edx*2]
lea ebx, [ebx + ecx*8]
lea esi, [esi + edx*8]
mov ecx, ebx
cmova ecx, esi
cmp esi, dword [esp + 0x10]
movsd xmm0, qword [ecx + 0x10]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
jbe 0x446c20
add eax, 0xffffffe8
cmp ebx, edi
ja 0x446dc0
jmp 0x446c20
lea eax, [ebx*8]
lea ebx, [eax + eax*2]
push ebx
push ecx
mov edi, dword [esp + 0x44]
push edi
call fcn.007bd9b0
mov eax, dword [esp + 0x38]
add esp, 0xc
add ebx, edi
test eax, eax
jle 0x446ee0
cmp dword [esp + 0x14], eax
jle 0x446ee0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xa0]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
lea eax, [ecx + eax*8]
mov dword [esp + 0x14], eax
nop dword [eax + eax]
movsd xmm0, qword [edi]
xor ecx, ecx
xor edx, edx
mov eax, edi
mov ebx, dword [esp + 0x10]
ucomisd xmm0, qword [esi]
cmova eax, esi
setbe cl
movsd xmm0, qword [eax + 0x10]
movsd qword [ebx + 0x10], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [ecx + ecx*2]
seta cl
lea edi, [edi + eax*8]
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
add ebx, 0x18
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xc]
cmp edi, ebx
jae 0x446ee4
mov dl, cl
lea eax, [edx + edx*2]
lea esi, [esi + eax*8]
cmp esi, dword [esp + 0x14]
jb 0x446e80
jmp 0x446ee4
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
jmp 0x446c22
mov esi, dword [esp + 0x34]
cmp ecx, eax
jae 0x446cf0
jmp 0x446cf3
mov esi, 2
jmp 0x446975
mov edi, dword [esp + 0x18]
mov esi, 3
jmp 0x446975
mov edi, edx
jmp 0x446975
push ebx
push 0
push dword [0x94bf18]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
call esi
push dword [esp + 0x3c]
push 0
push dword [0x94bf18]
call esi
mov esi, dword [esp + 0x20]
test edi, edi
je 0x4470d2
lea eax, [edi*4]
mov esi, edi
xor ecx, ecx
xor ebx, ebx
lea edi, [eax + eax*2]
movzx eax, byte [0x94bfc5]
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x4491ad
mov edx, dword [esp + 0xa0]
mov ecx, eax
lea eax, [esi + esi*2]
xor edi, edi
mov dword [esp + 0x14], ecx
add ecx, 8
lea eax, [edx + eax*8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x204]
add eax, 0x18
mov dword [esp + 0xc], eax
nop dword [eax + eax]
mov dword [esp + 0x10], edi
mov edi, dword [edx + ebx + 8]
cmp edi, 0x80000000
je 0x447074
mov eax, dword [edx + ebx + 0xc]
mov esi, dword [edx + ebx + 0x10]
mov dword [ecx - 8], edi
mov edi, dword [esp + 0x10]
add ebx, 0x18
mov dword [ecx - 4], eax
mov dword [ecx], esi
inc edi
add ecx, 0xc
cmp dword [esp + 0xc], ebx
jne 0x446fa0
mov esi, dword [esp + 0x20]
jmp 0x4476ee
mov esi, eax
mov ebx, edx
test edx, edx
je 0x447333
cmp ebx, 4
jne 0x44733a
mov ecx, dword [esi]
xor eax, eax
bswap ecx
cmp ecx, 0x68656c71
setae al
cmp ecx, 0x68656c70
sbb eax, 0
and edi, 0x100000
or edi, eax
jne 0x447342
mov eax, dword [esp + 0xc]
test byte [eax + 0x14a], 0x10
jne 0x447342
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
lea eax, [ebp + 0xc]
push eax
call fcn.00462c40
add esp, 4
mov ecx, dword [esp + 0xc]
mov esi, edx
mov edx, eax
push esi
call fcn.0044a4b0
jmp 0x447548
mov dl, 1
cmp esi, 2
jne 0x4452df
mov ecx, dword [esp + 0x44]
movzx eax, word [ecx]
cmp eax, 0x2d2d
jne 0x4452df
jmp 0x4450c2
lea eax, [edx + ebx + 0x18]
cmp dword [esp + 0x2c], eax
je 0x4476e6
mov eax, dword [esp + 0x204]
mov ecx, 0xaaaaaaab
mov esi, dword [esp + 0x20]
sub eax, ebx
lea ebx, [edx + ebx + 0x24]
mul ecx
mov edi, edx
shr edi, 4
jmp 0x4470ba
add ebx, 0x18
dec edi
je 0x4476ea
cmp dword [ebx - 4], 0
je 0x4470b0
push dword [ebx]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4470b0
xor edi, edi
mov ebx, 4
jmp 0x4476f2
mov ebx, 1
push edi
push dword [esp + 0x14]
push ebx
call fcn.007bd9b0
add esp, 0xc
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], edi
mov dword [esp + 0xb0], 0x80000000
movdqa xmm0, xmmword [0x7d4730]
mov ecx, 0xffffffff
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 0x78]
shl edx, 4
nop word [eax + eax]
test edx, edx
je 0x4471cd
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb edi, xmm1
cmp edi, 0xffff
jne 0x447130
mov edx, dword [esi + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [esi + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov edi, eax
lea eax, [esp + 0x350]
push edi
push eax
call dword [edx + 0xc]
add esp, 8
test edi, edi
je 0x448878
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x358]
mov edx, dword [esp + 0x350]
mov ebx, dword [esp + 0x354]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor ebx, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, ebx
or eax, ecx
je 0x4471cf
jmp 0x448878
xor edi, edi
test edi, edi
mov eax, 0x8a84f4
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 1
mov dword [esp + 0x68], esi
mov dword [esp + 0x58], 0
cmovne eax, edi
lea edi, [esp + 0x120]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
lea ecx, [eax + 0x1c]
mov edx, edi
movsd xmm0, qword [eax + 0x1c]
movsd xmm1, qword [eax + 0x22]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
movsd qword [esp + 0xf6], xmm1
movsd qword [esp + 0xf0], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
test al, al
mov edx, str.e_0m
lea ebx, [esp + 0x50]
mov dword [esp + 0x120], 0x80e984
mov dword [esp + 0x124], 3
mov dword [esp + 0x130], 0
cmovne edx, ecx
xor al, 1
mov ecx, ebx
movzx eax, al
mov dword [esp + 0x210], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x214], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x210]
mov dword [esp + 0x7c], 0x41c4a0
mov dword [esp + 0x80], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x84], 0x41c480
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 2
push edi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0x68]
mov edx, ebx
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, ebx
call fcn.00433f20
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
lea edx, [esp + 0x114]
mov ecx, esi
mov dword [esp + 0x128], eax
movsd qword [esp + 0x120], xmm0
push edi
push 0
jmp 0x445e22
mov eax, 1
jmp 0x44735a
test ebx, ebx
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
je 0x4491fe
push ebx
push esi
mov dword [esp + 0x24], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov esi, dword [esp + 0x20]
xor ecx, ecx
mov edx, ebx
mov eax, dword [esi + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x48], ebx
test byte [eax + 0x145], 0x20
mov dword [esp + 0x14], eax
jne 0x44748a
test byte [eax + 0x149], 0x20
mov ecx, dword [esp + 0x1c]
je 0x4473a9
cmp byte [esp + 0x60], 0
jne 0x447499
mov eax, dword [eax + 0x64]
test eax, eax
je 0x449169
mov edx, dword [esp + 0x14]
imul eax, eax, 0x16c
mov esi, dword [edx + 0x60]
mov edx, dword [esp + 0xc]
add eax, esi
mov dword [esp + 0x34], eax
jmp 0x4473dd
add esi, 0x16c
cmp esi, dword [esp + 0x34]
je 0x449169
mov edi, dword [esi + 0x120]
cmp edi, edx
jne 0x447408
mov ebx, dword [esi + 0x11c]
push edx
push ebx
push ecx
call fcn.007be090
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x448b82
mov eax, dword [esi + 0x28]
mov dword [esp + 0x18], edi
test eax, eax
je 0x4473cd
mov ebx, dword [esi + 0x24]
shl eax, 2
lea edi, [eax + eax*2]
add ebx, 4
jmp 0x447438
add ebx, 0xc
add edi, 0xfffffff4
je 0x4473cd
cmp dword [ebx], edx
jne 0x447430
push edx
push dword [ebx - 4]
push ecx
call fcn.007be090
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x447430
mov ebx, dword [esi + 0x11c]
mov edi, dword [esp + 0x18]
test edi, edi
je 0x448b8c
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x448b91
jmp 0x449058
cmp byte [esp + 0x60], 0
mov ecx, dword [esp + 0x1c]
je 0x4473a9
test edx, edx
je 0x4485f5
js 0x4493b6
movzx eax, byte [0x94bfc5]
mov edx, dword [esp + 0xc]
xor ecx, ecx
call fcn.0071ee80
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov edi, eax
test eax, eax
jne 0x4485fa
mov ecx, 1
call fcn.007c1490
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x29c], esi
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0x2a4], eax
call fcn.0044c860
test eax, eax
je 0x44750c
mov ecx, eax
call fcn.004494f0
mov esi, dword [esi + 8]
lea edi, [esp + 0x120]
mov ecx, edi
mov edx, esi
call fcn.0044c960
lea ebx, [esp + 0xb0]
mov edx, edi
mov ecx, ebx
push 0
push 0x93d1f8
call fcn.0044ca60
add esp, 8
lea edx, [esp + 0x29c]
mov ecx, esi
push ebx
call fcn.0044cc70
add esp, 4
mov esi, eax
jmp 0x44920a
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x9c], 0
je 0x447711
push dword [esp + 0xa0]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x244], ecx
mov dword [esp + 0x248], ebx
mov dword [esp + 0x24c], edi
je 0x447744
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esp + 0x50], 0x7fffffff
jne 0x447925
mov dword [esp + 0x10], edi
test edi, edi
mov edi, dword [esi + 8]
je 0x447946
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edi
lea ecx, [esp + 0x280]
push dword [esp + 0x40]
call fcn.0071e9b0
add esp, 4
mov edi, dword [esp + 0x288]
mov eax, dword [esp + 0x284]
mov esi, 1
mov ebx, 1
test edi, edi
je 0x4477c0
mov dword [esp + 0x14], eax
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
mov ebx, eax
test eax, eax
mov eax, dword [esp + 0x14]
je 0x449058
push edi
push eax
push ebx
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x24c]
movq xmm0, qword [esp + 0x244]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x274], edi
mov dword [esp + 0x278], ebx
mov dword [esp + 0x27c], edi
mov dword [esp + 0x258], eax
movq qword [esp + 0x250], xmm0
xor eax, eax
cmp dword [ecx + 0x98], 0x80000000
sete al
shl eax, 7
mov edi, dword [eax + ecx + 0xa0]
mov ebx, dword [eax + ecx + 0x9c]
test edi, edi
je 0x447848
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
mov esi, eax
test eax, eax
je 0x449058
push edi
push ebx
push esi
call fcn.007bd9b0
add esp, 0xc
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x210], edi
mov dword [esp + 0x214], esi
mov dword [esp + 0x218], edi
mov ecx, 0xffffffff
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x78]
shl edx, 4
nop word [eax + eax]
test edx, edx
je 0x4479f3
movdqa xmm0, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm0, xmmword [0x7d4730]
pmovmskb esi, xmm0
cmp esi, 0xffff
jne 0x447880
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [ebx + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x2f0]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x448878
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x2f8]
mov edx, dword [esp + 0x2f0]
mov edi, dword [esp + 0x2f4]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor edi, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, edi
or eax, ecx
je 0x4479f5
jmp 0x448878
push dword [esp + 0x54]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 0x10], edi
test edi, edi
mov edi, dword [esi + 8]
jne 0x447761
mov ecx, dword [edi + 0x48]
imul eax, dword [edi + 0x4c], 0x134
mov esi, dword [esp + 0x40]
nop word cs:[eax + eax]
nop
test eax, eax
je 0x4479a8
mov edx, ecx
add eax, 0xfffffecc
add ecx, 0x134
cmp dword [edx + 0x120], 0
jne 0x447960
cmp dword [edx + 0x34], 0x110000
jne 0x447960
test byte [edi + 0x145], 1
jne 0x4479a8
test byte [edi + 0x149], 1
jne 0x4479a8
lea ecx, [esp + 0x244]
mov ebx, edi
call fcn.0044f5f0
jmp 0x445305
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x68]
push esi
call fcn.0071e9b0
add esp, 4
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
test esi, esi
je 0x4482a7
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x4482ac
mov ecx, 1
mov edx, esi
call fcn.007c1490
xor esi, esi
test esi, esi
mov eax, 0x8a84f4
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 1
mov dword [esp + 0x114], ebx
mov dword [esp + 0xf8], 0
cmovne eax, esi
lea esi, [esp + 0x120]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], 0
lea ecx, [eax + 0x1c]
mov edx, esi
movq xmm0, qword [eax + 0x1c]
movsd xmm1, qword [eax + 0x22]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
movsd qword [esp + 0x7e], xmm1
movq qword [esp + 0x78], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
mov edx, str.e_0m
test al, al
lea edi, [esp + 0xf0]
mov dword [esp + 0x120], 0x80e984
mov dword [esp + 0x124], 3
mov dword [esp + 0x130], 0
cmovne edx, ecx
xor al, 1
mov ecx, edi
movzx eax, al
mov dword [esp + 0x50], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x54], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x50]
mov dword [esp + 0xb4], 0x41c4a0
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xbc], 0x41c480
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 2
push esi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0x114]
mov edx, edi
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, edi
call fcn.00433f20
mov eax, dword [esp + 0xf0]
mov edx, dword [ebx + 0x7c]
mov edi, dword [esp + 0xf4]
movdqa xmm1, xmmword [0x7d4730]
mov ecx, 0xffffffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xf8]
shl edx, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x78]
nop word cs:[eax + eax]
nop
test edx, edx
je 0x447c1d
movdqa xmm0, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm0, xmm1
pmovmskb esi, xmm0
cmp esi, 0xffff
jne 0x447b80
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [ebx + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov edi, eax
lea eax, [esp + 0x2e0]
push edi
push eax
call dword [edx + 0xc]
add esp, 8
test edi, edi
je 0x448878
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
mov edx, dword [esp + 0x2e0]
mov esi, dword [esp + 0x2e4]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor esi, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, esi
or eax, ecx
je 0x447c1f
jmp 0x448878
xor edi, edi
mov ecx, 2
call fcn.00431900
mov ecx, eax
mov edx, ebx
mov esi, eax
call fcn.00431a10
cmp byte [esp + 0x38], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0xac], 0
je 0x4480ad
test edi, edi
mov ebx, 0x8a84f4
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 1
mov dword [esp + 0x70], 0
lea edx, [esp + 0x120]
cmovne ebx, edi
movsd xmm0, qword [ebx + 0x54]
movsd xmm1, qword [ebx + 0x5a]
lea eax, [ebx + 0x46]
lea ecx, [ebx + 0x54]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
mov dword [esp + 0xc], eax
movsd qword [esp + 0x56], xmm1
movsd qword [esp + 0x50], xmm0
call fcn.00432310
mov edx, 0x93d1f8
test al, al
mov ecx, str.e_0m
mov edi, str.e_0m
cmovne ecx, edx
xor al, 1
movzx eax, al
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0xc]
shl eax, 2
mov dword [esp + 0x290], eax
movsd xmm0, qword [ebx + 0x46]
movq xmm1, qword [ebx + 0x4c]
lea ebx, [esp + 0x120]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
mov edx, ebx
movq qword [esp + 0xf6], xmm1
movsd qword [esp + 0xf0], xmm0
call fcn.00432310
test al, al
mov ecx, 0x93d1f8
mov dword [esp + 0x120], 2
mov dword [esp + 0x128], 2
mov dword [esp + 0x130], 0x20
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov byte [esp + 0x13c], 3
mov dword [esp + 0x140], 2
mov dword [esp + 0x148], 2
mov dword [esp + 0x150], 0x20
mov dword [esp + 0x154], 1
mov dword [esp + 0x158], 0
mov byte [esp + 0x15c], 3
mov dword [esp + 0x78], 0x80e018
mov dword [esp + 0x7c], 8
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], 7
mov edx, 0x80d168
cmovne edi, ecx
xor al, 1
lea ecx, [esp + 0x68]
movzx eax, al
mov dword [esp + 0x294], edi
shl eax, 2
mov dword [esp + 0x298], eax
lea eax, [esp + 0x50]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x274]
mov dword [esp + 0xb4], 0x41c4a0
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x28c]
mov dword [esp + 0xbc], 0x418cf0
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0xc4], 0x41c480
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x210]
mov dword [esp + 0xcc], 0x41c4a0
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x294]
mov dword [esp + 0xd4], 0x418cf0
mov dword [esp + 0xd8], eax
movzx eax, word [esp + 0x21d]
mov dword [esp + 0xdc], 0x41c480
mov word [esp + 0x15d], ax
movzx eax, byte [esp + 0x21f]
mov byte [esp + 0x15f], al
movzx eax, word [esp + 0x21d]
mov dword [esp + 0x160], 2
mov dword [esp + 0x168], 2
mov dword [esp + 0x170], 0x20
mov dword [esp + 0x174], 2
mov dword [esp + 0x178], 0
mov byte [esp + 0x17c], 3
mov dword [esp + 0x180], 2
mov dword [esp + 0x188], 2
mov dword [esp + 0x190], 0x20
mov dword [esp + 0x194], 3
mov dword [esp + 0x198], 0
mov byte [esp + 0x19c], 3
mov dword [esp + 0x1a0], 2
mov dword [esp + 0x1a8], 2
mov dword [esp + 0x1b0], 0x20
mov dword [esp + 0x1b4], 4
mov dword [esp + 0x1b8], 0
mov byte [esp + 0x1bc], 3
mov dword [esp + 0x1c0], 2
mov dword [esp + 0x1c8], 2
mov dword [esp + 0x1d0], 0x20
mov dword [esp + 0x1d4], 1
mov dword [esp + 0x1d8], 0
mov byte [esp + 0x1dc], 3
mov word [esp + 0x1dd], ax
lea eax, [esp + 0xb0]
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x21f]
mov dword [esp + 0x84], 6
mov byte [esp + 0x1df], al
lea eax, [esp + 0x78]
mov dword [esp + 0x1e0], 2
mov dword [esp + 0x1e8], 2
mov dword [esp + 0x1f0], 0x20
mov dword [esp + 0x1f4], 5
mov dword [esp + 0x1f8], 0
mov byte [esp + 0x1fc], 3
push eax
call fcn.00464980
add esp, 4
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
cmp edx, dword [esp + 0xa4]
mov dword [esp + 0x128], eax
movsd qword [esp + 0x120], xmm0
jne 0x448082
lea ecx, [esp + 0xa4]
call fcn.0045d970
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x128]
lea ecx, [edx + edx*2]
inc edx
mov dword [eax + ecx*4 + 8], edi
movq xmm0, qword [esp + 0x120]
movq qword [eax + ecx*4], xmm0
mov dword [esp + 0xac], edx
movsd xmm0, qword [esp + 0x274]
mov eax, dword [esp + 0x27c]
lea edi, [esp + 0x120]
mov ecx, esi
mov edx, edi
mov dword [esp + 0x12b], eax
movsd qword [esp + 0x123], xmm0
mov eax, dword [esp + 0x258]
movsd xmm0, qword [esp + 0x120]
movsd qword [esp + 0xf0], xmm0
movsd xmm0, qword [esp + 0x127]
mov dword [esp + 0x12b], eax
mov eax, dword [esp + 0xac]
movsd qword [esp + 0xf7], xmm0
movsd xmm0, qword [esp + 0x250]
movsd xmm2, qword [esp + 0xf0]
movsd qword [esp + 0x123], xmm0
movsd xmm0, qword [esp + 0x120]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [esp + 0x127]
mov dword [esp + 0x12b], eax
movsd qword [esp + 0x7f], xmm0
movsd xmm0, qword [esp + 0xa4]
movq xmm3, qword [esp + 0x78]
movsd qword [esp + 0x123], xmm0
movq xmm0, qword [esp + 0x120]
movsd xmm1, qword [esp + 0x127]
mov byte [esp + 0x120], 0
mov byte [esp + 0x124], 2
movq qword [esp + 0xb0], xmm0
movsd qword [esp + 0xb7], xmm1
movsd xmm1, qword [esp + 0xf7]
movsd qword [esp + 0x12c], xmm1
movsd xmm1, qword [esp + 0x7f]
movsd qword [esp + 0x125], xmm2
mov byte [esp + 0x134], 0xa
mov byte [esp + 0x138], 3
movq xmm2, qword [esp + 0xb0]
movsd qword [esp + 0x140], xmm1
movq xmm1, qword [esp + 0xb7]
movq qword [esp + 0x139], xmm3
mov byte [esp + 0x148], 0xe
mov byte [esp + 0x14c], 5
movq qword [esp + 0x154], xmm1
movq qword [esp + 0x14d], xmm2
call fcn.00431c50
mov eax, dword [esp + 0x14]
cmp eax, 0x80000000
je 0x448259
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x2c]
mov ecx, esi
mov edx, 0xf
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x12c], eax
mov byte [esp + 0x120], 4
push edi
call fcn.006f02f0
add esp, 4
cmp dword [esp + 0x210], 0
je 0x448278
push dword [esp + 0x214]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esp + 0x280], 0x7fffffff
mov edi, dword [esp + 0x10]
je 0x448590
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x448590
mov eax, 1
mov dword [esp + 0xc], esi
push esi
push ebx
mov dword [esp + 0x1c], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov edx, dword [edi + 0x7c]
mov eax, dword [edi + 0x78]
movdqa xmm0, xmmword [0x7d4730]
mov ecx, 0xffffffff
mov dword [esp + 0x34], ebx
shl edx, 4
nop dword [eax]
test edx, edx
je 0x44837d
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x4482e0
mov edx, dword [edi + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [edi + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x2d0]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x448878
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2d8]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2d4]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor ebx, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, ebx
or eax, ecx
je 0x44837f
jmp 0x448878
xor esi, esi
test esi, esi
mov eax, 0x8a84f4
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 1
mov dword [esp + 0x50], edi
mov dword [esp + 0xf8], 0
cmovne eax, esi
lea esi, [esp + 0x120]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
lea ecx, [eax + 0x1c]
mov edx, esi
movq xmm0, qword [eax + 0x1c]
movq xmm1, qword [eax + 0x22]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
movq qword [esp + 0x7e], xmm1
movq qword [esp + 0x78], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
test al, al
mov edx, str.e_0m
lea ebx, [esp + 0xf0]
mov dword [esp + 0x120], 0x80e984
mov dword [esp + 0x124], 3
mov dword [esp + 0x130], 0
cmovne edx, ecx
xor al, 1
mov ecx, ebx
movzx eax, al
mov dword [esp + 0xa4], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0xb4], 0x41c4a0
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xbc], 0x41c480
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 2
push esi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0x50]
mov edx, ebx
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, ebx
call fcn.00433f20
mov eax, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf0]
mov ecx, 2
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x18], eax
call fcn.00431900
mov ecx, eax
mov edx, edi
mov esi, eax
call fcn.00431a10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
lea edi, [esp + 0x120]
mov byte [esp + 0x120], 0
mov byte [esp + 0x124], 2
mov edx, edi
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
mov ecx, esi
mov dword [esp + 0x130], eax
call fcn.0044f580
cmp ebx, 0x80000000
je 0x448570
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x124], ebx
mov ecx, esi
mov edx, 0xf
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x12c], eax
mov byte [esp + 0x120], 4
push edi
call fcn.006f02f0
add esp, 4
test dword [esp + 0x68], 0x7fffffff
je 0x44858c
push dword [esp + 0x34]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x44920a
mov ebx, dword [esp + 0x24c]
mov eax, dword [esp + 0x248]
test ebx, ebx
mov dword [esp + 0x10], eax
je 0x4485de
mov eax, dword [esp + 0x10]
lea edi, [eax + 4]
jmp 0x4485c6
add edi, 0xc
dec ebx
je 0x4485de
cmp dword [edi - 4], 0
je 0x4485c0
push dword [edi]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4485c0
cmp dword [esp + 0x244], 0
je 0x44920a
push dword [esp + 0x10]
jmp 0x449214
mov edi, 1
push edx
push ecx
push edi
mov esi, edx
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], esi
mov esi, dword [ecx + 0x28]
test esi, esi
je 0x4487ad
cmp esi, 0xaaaaaaa
ja 0x4493b6
lea eax, [esi*4]
lea ebx, [eax + eax*2]
test ebx, ebx
js 0x4493b6
mov eax, dword [ecx + 0x24]
xor ecx, ecx
mov edx, ebx
mov dword [esp + 0x2c], eax
movzx eax, byte [0x94bfc5]
mov dword [esp + 0xc], 0
call fcn.0071ee80
test eax, eax
je 0x4491e1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov dword [esp + 0x34], eax
nop dword [eax]
mov eax, ecx
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x448f00
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
imul edi, eax, 0x134
mov esi, dword [ecx + edx*8]
mov dword [esp + 0x10], esi
mov esi, dword [ecx + edx*8 + 4]
mov edx, dword [esp + 0x14]
mov ebx, dword [edx + 0x48]
jmp 0x4486c2
add ebx, 0x134
add edi, 0xfffffecc
je 0x448f00
cmp dword [ebx + 0x118], esi
jne 0x4486b0
push esi
push dword [esp + 0x14]
push dword [ebx + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x4486b0
lea eax, [esp + 0xb0]
mov ecx, ebx
lea edx, [esp + 0x120]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 1
mov dword [esp + 0x13c], 0
mov dword [esp + 0x130], 0x20
mov byte [esp + 0x140], 3
mov dword [esp + 0x120], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], 0x80d094
call fcn.004308f0
test al, al
jne 0x449037
mov edi, dword [esp + 0xc]
movq xmm0, qword [esp + 0xb0]
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
lea ecx, [edi + edi*2]
movq qword [esp + 0x78], xmm0
mov dword [esp + 0x80], edx
inc edi
mov dword [eax + ecx*4 + 8], edx
movq qword [eax + ecx*4], xmm0
mov ecx, dword [esp + 0x14]
cmp edi, esi
mov dword [esp + 0xc], edi
jne 0x448680
jmp 0x4487b6
mov ecx, dword [esp + 0x14]
mov eax, 4
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], esi
movdqa xmm0, xmmword [0x7d4730]
mov edx, dword [ecx + 0x7c]
mov eax, dword [ecx + 0x78]
mov ecx, 0xffffffff
shl edx, 4
nop dword [eax + eax]
test edx, edx
je 0x448882
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x4487e0
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x88]
cmp ecx, edx
jae 0x448ef6
mov eax, dword [eax + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov edi, eax
lea eax, [esp + 0x360]
push edi
push eax
call dword [edx + 0xc]
add esp, 8
test edi, edi
je 0x448878
mov eax, dword [esp + 0x36c]
mov ecx, dword [esp + 0x368]
mov edx, dword [esp + 0x360]
mov esi, dword [esp + 0x364]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor esi, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, esi
or eax, ecx
je 0x448884
mov ecx, 0x8a86f4
call fcn.007c1fe0
xor edi, edi
mov esi, dword [esp + 0x14]
test edi, edi
mov eax, 0x8a84f4
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], 0
cmovne eax, edi
lea edi, [esp + 0x120]
lea ecx, [eax + 0x1c]
mov edx, edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
movsd xmm0, qword [eax + 0x1c]
movq xmm1, qword [eax + 0x22]
mov byte [esp + 0x120], 3
mov byte [esp + 0x124], 3
mov byte [esp + 0x128], 3
mov word [esp + 0x12c], 0
movq qword [esp + 0x7e], xmm1
movsd qword [esp + 0x78], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
test al, al
mov edx, str.e_0m
lea ebx, [esp + 0xf0]
mov dword [esp + 0x120], 0x80e984
mov dword [esp + 0x124], 3
mov dword [esp + 0x130], 0
cmovne edx, ecx
xor al, 1
mov ecx, ebx
movzx eax, al
mov dword [esp + 0x114], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x118], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x114]
mov dword [esp + 0xb4], 0x41c4a0
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xbc], 0x41c480
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 2
push edi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0x50]
mov edx, ebx
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, ebx
call fcn.00433f20
mov eax, dword [esp + 0xf8]
movq xmm0, qword [esp + 0xf0]
lea edx, [esp + 0xa4]
mov ecx, esi
mov dword [esp + 0x128], eax
movq qword [esp + 0x120], xmm0
push edi
lea eax, [esp + 0x6c]
push eax
call fcn.0044f3e0
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x48]
test eax, 0x7fffffff
mov eax, dword [esp + 0x1c]
je 0x44920a
jmp 0x4493b0
push 0x80e6b0
call fcn.007c1be0
mov esi, dword [esp + 0x78]
jmp 0x44920a
mov edi, edx
test edi, edi
jne 0x447467
mov eax, 1
push edi
push ebx
mov dword [esp + 0x14], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov bl, 1
test byte [ecx + 0x144], 1
jne 0x448bb9
movzx ebx, byte [ecx + 0x148]
and bl, 1
mov esi, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], edi
push edi
call fcn.004544b0
add esp, 4
test eax, eax
je 0x448ed0
cmp byte [esp + 0x24], 0
mov edi, eax
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 4
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0x10
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x120], 2
mov dword [esp + 0xc0], 0
je 0x448c7d
mov eax, dword [esp + 0x20]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 0xc]
movq qword [esp + 0xb0], xmm0
movq qword [esp + 0xbc], xmm1
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x120]
push esi
push dword [ebp + 8]
call fcn.00442630
add esp, 8
test eax, eax
je 0x448ca8
mov esi, eax
test bl, bl
je 0x448cd9
mov ecx, esi
call fcn.004494f0
mov esi, dword [edi + 0x120]
mov ebx, dword [edi + 0x11c]
test esi, esi
je 0x448d07
js 0x4493b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
mov edi, eax
test eax, eax
jne 0x448d0c
jmp 0x4479e7
lea ecx, [esp + 0x120]
call fcn.00449430
cmp dword [esp + 0x18], 0
je 0x448a06
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x448a06
mov edi, 1
push esi
push ebx
push edi
call fcn.007bd9b0
add esp, 0xc
movsd xmm0, qword [esp + 0x13c]
mov ecx, dword [esp + 0x128]
mov eax, dword [esp + 0x120]
mov ebx, dword [esp + 0x130]
movsd qword [esp + 0xb8], xmm0
movsd xmm0, qword [esp + 0x144]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x12c]
cmp eax, 2
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [esp + 0x14c]
mov dword [esp + 0x14], ecx
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [esp + 0x154]
movsd qword [esp + 0xd0], xmm0
movsd xmm0, qword [esp + 0x134]
movsd qword [esp + 0xb0], xmm0
movq xmm0, qword [esp + 0xbc]
movq xmm2, qword [esp + 0xc4]
movq xmm1, qword [esp + 0xcc]
mov ecx, dword [esp + 0xd4]
movq qword [esp + 0x78], xmm0
movq qword [esp + 0x80], xmm2
movq qword [esp + 0x88], xmm1
mov dword [esp + 0x90], ecx
je 0x448e27
test ebx, ebx
mov dword [esp + 0x24], edi
je 0x448e0a
mov eax, dword [esp + 0x14]
lea edi, [eax + 4]
jmp 0x448df2
add edi, 0x10
dec ebx
je 0x448e0a
cmp dword [edi - 4], 0
je 0x448dec
push dword [edi]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x448dec
cmp dword [esp + 0x34], 0
mov edi, dword [esp + 0x24]
je 0x448e27
push dword [esp + 0x14]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
movsd xmm1, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x78]
mov eax, dword [esp + 0x90]
xor ecx, ecx
mov edx, 0x28
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x88]
movsd qword [esp + 0xb0], xmm0
mov dword [esp + 0xc8], eax
movsd qword [esp + 0xc0], xmm1
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x44910c
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov esi, dword [esp + 0x30]
mov ebx, eax
movsd xmm0, qword [esp + 0xb0]
movq xmm1, qword [esp + 0xb8]
lea ecx, [esi + 0x38]
movsd qword [eax + 0xc], xmm0
movq qword [eax + 0x14], xmm1
movq xmm0, qword [esp + 0xc0]
movq qword [eax + 0x1c], xmm0
mov eax, dword [esp + 0xc8]
mov dword [ebx + 0x24], eax
call fcn.0044a1a0
mov dword [esi + 0x38], ebx
cmp dword [esp + 0x18], 0
je 0x448ee9
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x48]
jmp 0x4454fe
push 0x8a8474
call fcn.007c1be0
mov ecx, 0x80e4f8
call fcn.007c1fe0
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e538
call fcn.007c2000
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e4c8
call fcn.007c2000
lea ecx, [esp + 0x120]
mov edx, 0x936018
jmp 0x448f4c
lea ecx, [esp + 0x120]
mov edx, 0x936028
mov dword [esp + 0x120], 0x935dd0
mov dword [esp + 0x124], 1
mov dword [esp + 0x130], 0
mov dword [esp + 0x128], 0x93d1f8
mov dword [esp + 0x12c], 0
call fcn.007c1b50
push 0x936038
call fcn.007c1e60
mov ecx, edx
mov edx, eax
push 0x936038
call fcn.007c1c40
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e518
call fcn.007c2000
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e528
call fcn.007c2000
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e548
call fcn.007c2000
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e4d8
call fcn.007c2000
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e558
call fcn.007c2000
mov ecx, str.assertion_failed:_end___start__end___len
mov edx, 0x2c
push 0x9360a4
call fcn.007c1ca0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20c]
push 0x9360b4
call fcn.007c1e60
mov ecx, 0x936068
call fcn.007c1fe0
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04library_alloc_src_string.rs
mov edx, 0x37
push 0x93a144
push 0x80d0ac
lea eax, [esp + 0x11c]
push eax
call fcn.007c1f60
mov ecx, 1
mov edx, edi
call fcn.007c1490
mov ecx, str.internal_error:_entered_unreachable_code
mov edx, 0x28
push 0x80e43c
call fcn.007c1ca0
lea eax, [esp + 0x114]
lea ecx, [esp + 0x120]
mov edx, 0x80e4a8
mov dword [esp + str.internal_error:_entered_unreachable_code:__to_long__always_has_the_flag_specified], 0x80e4a0
mov dword [esp + 0x124], 1
mov dword [esp + 0x130], 0
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 0
call fcn.007c1b50
mov ecx, edx
mov edx, ebx
push 0x936008
call fcn.007c1e60
mov ecx, ebx
mov edx, edi
push 0x936008
call fcn.007c1c40
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e398
call fcn.007c2000
push 0x80ee24
call fcn.007c1b80
mov ecx, 4
mov edx, 0xc
call fcn.007c1490
mov ecx, 4
mov edx, 0x28
call fcn.007c1490
mov ecx, str.internal_error:_entered_unreachable_code
mov edx, 0x28
push 0x80e4b8
call fcn.007c1ca0
lea ecx, [esp + 0x120]
mov edx, 0x80edb0
mov dword [esp + str.mid___len], 0x93a1fc
jmp 0x448f57
mov ecx, 4
mov edx, 0x30
call fcn.007c1490
mov ecx, 8
mov edx, 0x60
call fcn.007c1490
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e4e8
call fcn.007c2000
movsd xmm0, qword [esp + 0x124]
mov ecx, 0x93b384
mov edx, 0x2b
movsd qword [esp + 0x78], xmm0
push 0x80ee34
push 0x80ecdc
lea eax, [esp + 0x80]
push eax
call fcn.007c1f60
mov ecx, 4
mov edx, edi
call fcn.007c1490
mov ecx, 0x936048
call fcn.007c1fe0
mov ecx, 0x936058
call fcn.007c1fe0
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e1c4
call fcn.007c2000
mov ecx, 4
mov edx, ebx
call fcn.007c1490
mov ecx, 4
mov edx, 0x20
call fcn.007c1490
ud2
mov ecx, 1
mov edx, ebx
call fcn.007c1490
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x44920a
cmp dword [esp + 0x1c], 4
mov eax, dword [esp + 0x34]
jb 0x44920a
push eax
mov eax, dword [esp + 0x28]
call dword [eax]
mov eax, dword [esp + 0x28]
add esp, 4
cmp dword [eax + 4], 0
je 0x44920a
cmp dword [eax + 8], 9
jae 0x4493a9
mov eax, dword [esp + 0x34]
push eax
jmp 0x449214
mov eax, dword [esp + 0x34]
mov eax, dword [eax - 4]
push eax
jmp 0x449214
call fcn.00418cb0
nop
push cs
dec edi
add byte [eax], al
pushfd
sbb dword [eax], eax
add byte [eax + 0x1c], dh
add byte [eax], al
and byte [edx], ch
add bl, cl
dec edi
add byte [eax], al
mov eax, 0x9100006b
dec esi
add byte [eax], al
sub ecx, dword [edi]
add byte [edx + ebp*2], dh
add byte [eax], al
int 0x64
add byte [eax], al
jl 0x44940a
add byte [eax], al
wait
and al, 0
add bh, dl
push 0
add bh, dl
push 0
add byte [eax + 0x23], ch
add byte [eax], al
jle 0x44945e
add byte [eax], al
fisub dword [ebx]
add byte [eax + 0x23], ch
add byte [eax], al
jb 0x449444
add byte [eax], al
lahf
add byte cs:[eax], al
add byte [eax], al
pop esi
add byte ds:[eax], al
insd dword es:[edi], dx
add byte ds:[eax], al
add byte ds:[eax], al
or al, 0x6c
add byte [eax], al
loopne 0x449489
add byte [eax], al
out 0x6b, eax
add byte [eax], al
out dx, al
imul eax, dword [eax], 0
cmc
imul eax, dword [eax], 0
int3
sbb byte [edi + 0x15ff0094], bh
and byte [edx + 0x7d], al
add byte [ebx + 0x5e8b346e], cl
xor byte [ebp - 0x76ea8b13], al
fbld tbyte [esi + 0xf]
pop ds
inc esp
add byte [eax], al
mov ecx, edi
call fcn.00449930
add edi, 0x50
dec ebp
jne 0x449460
cmp dword [esi + 0x2c], 0
je 0x449484
push dword [ebx - 4]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x38]
call fcn.0044a1a0
cmp dword [esi], 2
je 0x4494e2
or eax, 0x3e830000
add dh, byte [ecx + edx*2 - 0x75]
pop esi
adc byte [ebx - 0x247af3ba], cl
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
test ebx, ebx
mov dword [esp], eax
je 0x4494cb
mov eax, dword [esp]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
lea ebp, [eax + 4]
jmp 0x4494b6
add ebp, 0x10
dec ebx
je 0x4494cb
cmp dword [ebp - 4], 0
je 0x4494b0
push dword [ebp]
push 0
push dword [0x94bf18]
call edi
jmp 0x4494b0
cmp dword [esi + 8], 0
je 0x4494e2
push dword [esp]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret