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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x4eddd3
mov eax, dword fs:[0]
push eax
sub esp, 0x37c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x374], eax
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x388]
mov dword fs:[0], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0xb8], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x20]
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [ecx + 0x18]
mov dword [esp + 0xa8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x1c4], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x80], eax
mov eax, edi
mov dword [esp + 0x48], ecx
mov ecx, dword [ecx + 0x1c]
or eax, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x90], edx
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], ecx
jne 0x434d3d
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], eax
mov dword [esp + 0x1e4], 0
lea ecx, [esp + 0x1e4]
mov dword [esp + 0x390], 0
mov eax, dword [edx]
push ecx
push 0x505050
push edx
call dword [eax]
mov dword [esp + 0x210], 0
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x210]
push edx
mov byte [esp + 0x394], 1
push 0x504f00
mov eax, dword [ecx]
push ecx
call dword [eax]
test esi, esi
je 0x434df9
mov eax, dword [esi + 0x104]
mov edi, dword [esi + 0x100]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x434dad
test edi, edi
je 0x434df9
mov ecx, dword [esp + 0x48]
cmp byte [ecx + 0x2a], 0
jne 0x434df9
mov ecx, dword [esp + 0x88]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x10]
mov esi, eax
test esi, esi
jne 0x4381d2
mov edx, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x88]
push eax
push dword [esp + 0x30]
push edi
call fcn.004331a0
mov esi, eax
test esi, esi
jne 0x4381d2
xor edi, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x290], edi
xorps xmm0, xmm0
mov dword [esp + 0x234], edi
movq qword [esp + 0x22c], xmm0
movlpd qword [esp + 0xac], xmm0
movlpd qword [esp + 0x74], xmm0
mov byte [esp + 0x58], 0
mov dword [esp + 0x22c], edi
mov dword [esp + 0x230], edi
mov dword [esp + 0x234], edi
xor eax, eax
movq qword [esp + 0x1e8], xmm0
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1e8], edi
mov dword [esp + 0x1ec], edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f0], eax
mov byte [esp + 0x390], 4
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x48]
mov al, byte [eax + 8]
mov byte [esp + 0x1d3], al
test al, al
je 0x434f26
mov eax, dword [esp + 0x48]
xor edx, edx
mov esi, dword [eax]
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x434f26
mov esi, dword [esi]
jmp 0x434eb0
mov eax, dword [esi]
cmp dword [eax + 0x14], 0
mov ecx, dword [eax + 0x10]
ja 0x434f12
jb 0x434ec2
cmp ecx, 0xffffffff
ja 0x434f12
cmp ecx, 0x3030205
ja 0x434ef0
je 0x434f1e
cmp ecx, 0x20304
ja 0x434ee3
je 0x434f1e
cmp ecx, 3
je 0x434f1e
cmp ecx, 0x20302
jmp 0x434f10
sub ecx, 0x3030103
je 0x434f1e
sub ecx, 0x18
jmp 0x434f10
cmp ecx, 0x3030701
ja 0x434f0a
je 0x434f1e
cmp ecx, 0x3030401
je 0x434f1e
cmp ecx, 0x3030501
jmp 0x434f10
cmp ecx, 0x3030805
je 0x434f1e
inc edx
add esi, 4
cmp edx, dword [esp + 0x2c]
jb 0x434eb0
jmp 0x434f26
mov byte [esp + 0x1d3], 0
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x43550e
mov esi, dword [ecx + 0x5c]
push 0
call fcn.004df97b
xor ecx, ecx
mov dword [esp + 0x294], 0
add esp, 4
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
mov edi, eax
add esp, 4
mov dword [esp + 0x38], edi
test edi, edi
jne 0x434f82
mov byte [esp + 0x23], al
lea eax, [esp + 0x23]
push 0x51c2c8
push eax
call fcn.004ea58e
mov ecx, dword [esp + 0x18]
xor eax, eax
mov dword [esp + 0x290], edi
cmp dword [ecx + 0x5c], eax
jbe 0x434fa1
mov dword [edi + eax*4], 0xffffffff
inc eax
cmp eax, dword [ecx + 0x5c]
jb 0x434f94
mov edx, dword [esp + 0x60]
xor ecx, ecx
cmp dword [edx + 4], ecx
jbe 0x434fc5
lea esp, [esp]
mov eax, dword [edx]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x434fbf
mov dword [edi + eax*4], ecx
inc ecx
cmp ecx, dword [edx + 4]
jb 0x434fb0
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x24], edx
cmp dword [ecx + 4], edx
jbe 0x43550e
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x44], esi
mov eax, dword [ecx + 0x24]
xorps xmm0, xmm0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1e0], 0
movlpd qword [esp + 0xec], xmm0
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x130]
mov edx, dword [eax + edx*4]
test ecx, ecx
je 0x43548b
mov eax, dword [esp + 0xec]
mov esi, edx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1cc]
shl esi, 4
mov dword [esp + 0x28], ecx
jmp 0x435070
mov ecx, dword [esp + 0x18]
cmp edx, dword [ecx + 0x5c]
jae 0x4354fd
mov ecx, dword [ecx + 0x58]
cmp byte [ecx + esi + 0xc], 0
je 0x4350d6
inc eax
mov dword [esp + 0x1cc], eax
mov eax, dword [edi + edx*4]
mov dword [esp + 0x2c], eax
test eax, eax
js 0x4350cf
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x2c]
mov eax, dword [eax]
mov eax, dword [eax + edi*4]
mov edi, dword [esp + 0x38]
cmp byte [eax + 0x38], 0
jne 0x4350cf
mov eax, dword [esp + 0x34]
inc dword [esp + 0x1e0]
add eax, dword [ecx + esi]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
adc eax, dword [ecx + esi + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1cc]
inc edx
add esi, 0x10
cmp eax, dword [esp + 0x1c]
jb 0x435070
mov esi, dword [esp + 0x1e0]
test esi, esi
je 0x43548b
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov edi, dword [esp + 0x18]
mov byte [esp + 0x390], 5
mov eax, dword [esp + 0x24]
mov dword [esp + 0x21c], 0
mov ecx, dword [edi + 0x38]
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 0x3c]
mov edi, dword [esp + 0x24]
add eax, edx
mov dword [esp + 0x214], eax
lea eax, [esp + 0xbc]
push eax
mov ecx, dword [ecx + edi*4 + 4]
sub ecx, edx
mov dword [esp + 0x21c], ecx
lea ecx, [esp + 0x218]
call fcn.0042bb60
mov eax, dword [esp + 0x218]
mov edi, dword [esp + 0x38]
sub eax, dword [esp + 0x21c]
jne 0x4354e6
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc0]
mov eax, dword [eax + 0x34]
movzx eax, byte [eax + ecx]
xor ecx, ecx
mov dword [esp + 0xd4], eax
test edx, edx
je 0x4351df
mov eax, dword [esp + 0xbc]
cmp dword [eax], 0x6f10701
jne 0x4351d7
cmp dword [eax + 4], 0
je 0x435313
inc ecx
add eax, 0x18
cmp ecx, edx
jb 0x4351c5
mov byte [esp + 0x1cb], 0
cmp esi, dword [esp + 0x1c]
sete al
cmp byte [esp + 0x1d3], 0
mov byte [esp + 0xf], al
jne 0x435205
mov byte [esp + 0x30], 0
test al, al
je 0x43520a
mov byte [esp + 0x30], 1
push dword [esp + 0x30]
lea edx, [esp + 0xc0]
lea ecx, [esp + 0x230]
call fcn.004330d0
mov esi, dword [esp + 0x1ec]
mov dword [esp + 0x40], eax
cmp eax, esi
jb 0x435320
push 0x18
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
je 0x4354be
mov edx, dword [esp + 0x4c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp esi, edx
jne 0x4352f3
mov eax, edx
xor ecx, ecx
shr eax, 2
inc edx
add edx, eax
mov dword [esp + 0x4c], edx
mov eax, edx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4354aa
test esi, esi
je 0x4352ca
lea ecx, [esi*4]
push ecx
push dword [esp + 0x1ec]
push eax
call fcn.004e4930
add esp, 0xc
push dword [esp + 0x1e8]
call fcn.004df97b
mov eax, dword [esp + 0x30]
add esp, 4
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x1e8]
mov dword [ecx + esi*4], eax
inc esi
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1ec], esi
cmp eax, esi
jae 0x435234
jmp 0x435327
mov byte [esp + 0x1cb], 1
jmp 0x4351e7
mov ecx, dword [esp + 0x1e8]
mov esi, dword [ecx + eax*4]
mov ecx, dword [esi + 0x14]
cmp dword [esi + 0x10], ecx
jne 0x435393
mov eax, ecx
mov edx, 8
shr eax, 2
inc eax
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x54], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4354d2
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x43537a
shl ecx, 3
push ecx
push dword [esi + 0xc]
push eax
call fcn.004e4930
add esp, 0xc
push dword [esi + 0xc]
call fcn.004df97b
mov eax, dword [esp + 0x30]
add esp, 4
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov dword [ecx + eax*8], edx
mov edx, dword [esp + 0x1e0]
mov dword [ecx + eax*8 + 4], edx
inc dword [esi + 0x10]
cmp byte [esp + 0xf], 0
je 0x4353e2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov ecx, dword [eax + 0x30]
mov esi, dword [eax + 8]
mov eax, dword [ecx + edx*4 + 4]
mov ecx, dword [ecx + edx*4]
mov edx, dword [esi + eax*8]
sub edx, dword [esi + ecx*8]
mov eax, dword [esi + eax*8 + 4]
sbb eax, dword [esi + ecx*8 + 4]
add dword [esp + 0x64], edx
adc dword [esp + 0x68], eax
jmp 0x43542e
mov eax, dword [esp + 0x34]
add dword [esp + 0x64], eax
mov ecx, dword [esp + 0x28]
adc dword [esp + 0x68], ecx
mov byte [esp + 0x23], 1
cmp dword [esp + 0x1c0], ecx
ja 0x435413
jb 0x435408
cmp dword [esp + 0x44], eax
jae 0x435413
mov dword [esp + 0x44], eax
mov dword [esp + 0x1c0], ecx
mov eax, dword [esp + 0x58]
mov ecx, 1
cmp byte [esp + 0x1cb], 0
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x58], eax
mov byte [esp + 0x390], 7
push dword [esp + 0xcc]
call fcn.004df97b
add esp, 4
mov byte [esp + 0x390], 6
push dword [esp + 0xc4]
call fcn.004df97b
mov byte [esp + 0x394], 4
add esp, 4
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x43548b
push 0x421350
push dword [eax - 4]
lea esi, [eax - 4]
push 0x18
push eax
call fcn.004e04d5
push esi
call fcn.004df97b
add esp, 4
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x24], edx
cmp edx, dword [ecx + 4]
jb 0x435001
mov esi, dword [esp + 0x44]
jmp 0x435537
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
push 0x51c2b0
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0x1330368
push eax
call fcn.004ea58e
mov edi, dword [esp + 0x38]
mov dword [esp + 0x10], 0x80004005
jmp 0x43819a
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x44], esi
cmp dword [esp + 0xf8], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x74], xmm0
ja 0x435554
cmp dword [esp + 0xf4], 1
jbe 0x435568
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x1cb], 1
mov eax, dword [ecx + 0x20]
or eax, dword [ecx + 0x24]
jne 0x435570
mov byte [esp + 0x1cb], 0
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
je 0x4355db
mov edi, dword [ecx]
mov ecx, dword [esp + 0x74]
lea esp, [esp]
mov esi, dword [edi]
cmp byte [esi + 0x38], 0
je 0x4355cc
mov edx, dword [esi + 0x20]
add dword [esp + 0x64], edx
mov esi, dword [esi + 0x24]
adc dword [esp + 0x68], esi
cmp byte [esp + 0x1cb], 0
je 0x4355b6
add ecx, edx
adc eax, esi
jmp 0x4355c4
cmp eax, esi
ja 0x4355cc
jb 0x4355c0
cmp ecx, edx
jae 0x4355cc
mov ecx, edx
mov eax, esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ecx
add edi, 4
dec dword [esp + 0x1c]
jne 0x435590
mov esi, dword [esp + 0x44]
jmp 0x4355df
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x1c0]
cmp eax, edx
ja 0x4355f8
jb 0x4355f0
cmp ecx, esi
jae 0x4355f8
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], edx
mov ecx, dword [esp + 0x90]
push dword [esp + 0x68]
push dword [esp + 0x68]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov dword [esp + 0x10], eax
test eax, eax
je 0x43561e
mov edi, dword [esp + 0x38]
jmp 0x43819a
push 0x38
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
jne 0x435643
mov byte [esp + 0xf], al
lea eax, [esp + 0xf]
push 0x51c2c8
push eax
call fcn.004ea58e
push 0x38
push 0
push eax
call fcn.004e3fe0
mov ecx, dword [esp + 0x5c]
add esp, 0xc
lea esi, [ecx + 0xc]
mov dword [esp + 0x2c0], ecx
mov dword [ecx + 4], 0
mov dword [ecx], vtable.CLocalProgress.0
mov dword [ecx + 8], 0
mov dword [esi], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov word [ecx + 0x30], 0x101
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov byte [esp + 0x390], 8
mov ecx, dword [esi]
test ecx, ecx
je 0x4356c8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi], 0
mov ecx, dword [esp + 0x90]
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4356ea
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x90]
mov dword [eax + 8], ecx
mov eax, ecx
push esi
push 0x504e80
push eax
mov ecx, dword [eax]
call dword [ecx]
mov edx, dword [esp + 0x50]
xorps xmm0, xmm0
mov byte [edx + 0x10], 1
movdqa xmmword [esp + 0x294], xmm0
movdqa xmmword [esp + 0x2a4], xmm0
mov dword [esp + 0x294], 0
mov dword [esp + 0x298], 0
mov dword [esp + 0x29c], 0
mov eax, dword [esp + 0x48]
mov byte [esp + 0x390], 9
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [eax + 0x2b], 0
je 0x4357f5
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esp + 0x294], eax
test eax, eax
jne 0x43578e
call esi
test eax, eax
mov esi, 1
cmovne esi, eax
mov dword [esp + 0x10], esi
test esi, esi
jne 0x4357ec
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esp + 0x298], eax
test eax, eax
jne 0x4357bb
call esi
test eax, eax
mov esi, 1
cmovne esi, eax
mov dword [esp + 0x10], esi
test esi, esi
jne 0x4357ec
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esp + 0x29c], eax
test eax, eax
jne 0x4357f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov esi, 1
cmovne esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x4357f5
mov edi, dword [esp + 0x38]
jmp 0x438174
push 0xb0
lea eax, [esp + 0x110]
push 0
push eax
call fcn.004e3fe0
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x118]
add esp, 0xc
movzx eax, byte [eax + 0x2b]
push eax
call fcn.004346c0
mov edx, dword [esp + 0x48]
mov byte [esp + 0x390], 0xa
cmp byte [edx + 0x2b], 0
je 0x43586b
cmp byte [esp + 0x23], 0
je 0x43586b
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x10c]
mov dword [esp + 0x1b0], eax
call fcn.004428b0
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x435867
mov edi, dword [esp + 0x38]
jmp 0x438160
mov edx, dword [esp + 0x48]
xor esi, esi
mov word [esp + 0x20c], 1
xor al, al
mov dword [esp + 0x200], esi
mov dword [esp + 0x204], esi
mov dword [esp + 0x208], esi
mov byte [esp + 0x20e], al
mov byte [esp + 0x390], 0xb
cmp dword [edx + 0xc], esi
jne 0x4358b3
mov word [esp + 0x20c], si
mov byte [esp + 0x20e], al
jmp 0x435907
mov esi, dword [esp + 0x1e4]
test esi, esi
je 0x4358cf
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov edx, dword [esp + 0x48]
mov al, byte [esp + 0x20e]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x200], esi
test ecx, ecx
jle 0x435907
mov byte [esp + 0x20c], 1
cmp ecx, 7
jl 0x435907
cmp ecx, 9
movzx eax, al
mov ecx, 1
mov byte [esp + 0x20d], 1
cmovge eax, ecx
mov byte [esp + 0x20e], al
mov eax, dword [edx]
xor edx, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x1c], edx
cmp dword [eax + 4], edx
jbe 0x435b4c
mov eax, dword [eax]
mov ecx, dword [eax + edx*4]
cmp byte [ecx + 0x38], 0
je 0x435b33
cmp byte [ecx + 0x3b], 0
jne 0x435b33
cmp byte [ecx + 0x3a], 0
jne 0x435b33
mov eax, dword [ecx + 0x20]
or eax, dword [ecx + 0x24]
je 0x435b33
cmp byte [esp + 0x1d3], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov byte [esp + 0x9c], 0
je 0x43599b
lea eax, [esp + 0x94]
push eax
push ecx
push edx
lea ecx, [esp + 0x20c]
call fcn.004337f0
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
jne 0x435bc2
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x94]
lea ecx, [esp + 0x22c]
mov al, byte [eax + 0x21]
mov byte [esp + 0x9c], al
call fcn.00433010
mov esi, dword [esp + 0x1ec]
mov dword [esp + 0x8c], eax
cmp eax, esi
jb 0x435ab4
push 0x18
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
je 0x435c0f
mov edx, dword [esp + 0x4c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp esi, edx
jne 0x435a91
mov eax, edx
xor ecx, ecx
shr eax, 2
inc edx
add edx, eax
mov dword [esp + 0x4c], edx
mov eax, edx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
je 0x435bfb
test esi, esi
je 0x435a68
lea ecx, [esi*4]
push ecx
push dword [esp + 0x1ec]
push eax
call fcn.004e4930
add esp, 0xc
push dword [esp + 0x1e8]
call fcn.004df97b
mov eax, dword [esp + 0x58]
add esp, 4
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x1e8]
mov dword [ecx + esi*4], eax
inc esi
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x1ec], esi
cmp eax, esi
jae 0x4359d2
jmp 0x435abb
mov ecx, dword [esp + 0x1e8]
mov esi, dword [ecx + eax*4]
mov ecx, dword [esi + 8]
cmp dword [esi + 4], ecx
jne 0x435b24
mov eax, ecx
mov edx, 4
shr eax, 2
inc eax
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x40], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
je 0x435c23
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x435b0d
shl ecx, 2
push ecx
push dword [esi]
push eax
call fcn.004e4930
add esp, 0xc
push dword [esi]
call fcn.004df97b
mov eax, dword [esp + 0x58]
add esp, 4
mov dword [esi], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], edx
inc dword [esi + 4]
mov eax, dword [esp + 0x60]
inc edx
mov dword [esp + 0x1c], edx
cmp edx, dword [eax + 4]
jb 0x435920
mov esi, dword [esp + 0x200]
mov byte [esp + 0x390], 0xd
push dword [esp + 0x204]
call fcn.004df97b
add esp, 4
mov byte [esp + 0x390], 0xa
test esi, esi
je 0x435b75
mov eax, dword [esi]
push esi
call dword [eax + 8]
xor esi, esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x1e0], esi
cmp byte [esp + 0x58], 0
mov byte [esp + 0x390], 0xe
je 0x435e11
push 0x14
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x435c37
mov byte [esp + 0xf], al
lea eax, [esp + 0xf]
push 0x51c2c8
push eax
call fcn.004ea58e
mov byte [esp + 0x390], 0xc
push dword [esp + 0x204]
call fcn.004df97b
mov byte [esp + 0x394], 0xa
add esp, 4
mov ecx, dword [esp + 0x200]
test ecx, ecx
je 0x435bf2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edi, dword [esp + 0x38]
jmp 0x438160
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
mov dword [esp + 0x1f4], eax
mov byte [esp + 0x390], 0xf
lea esi, [eax + 8]
xorps xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 4], 0
mov dword [eax], vtable.NArchive::N7z::CCryptoGetTextPassword.0
push 8
mov dword [esi], 0
call fcn.004df9b3
add esp, 4
test eax, eax
jne 0x435c8b
mov byte [esp + 0xf], al
lea eax, [esp + 0xf]
push 0x51c2c8
push eax
call fcn.004ea58e
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [esi + 8], 3
mov word [eax], cx
mov byte [esp + 0x390], 0xe
mov ecx, dword [esp + 0x4c]
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x4c]
mov esi, ecx
push ecx
mov dword [esp + 0x1e4], esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x1ac]
test ecx, ecx
je 0x435cd6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x1ac], edx
mov eax, dword [eax]
mov dword [esp + 0x40], eax
cmp byte [eax + 0x21], 0
je 0x435d88
add eax, 0x24
lea ecx, [edx + 8]
cmp eax, ecx
je 0x435e11
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
cmp eax, dword [ecx + 8]
jbe 0x435d67
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x435d44
mov byte [esp + 0xf], al
lea eax, [esp + 0xf]
push 0x51c2c8
push eax
call fcn.004ea58e
mov eax, dword [esp + 0x4c]
push dword [eax + 8]
call fcn.004df97b
mov ecx, dword [esp + 0x50]
add esp, 4
mov eax, dword [esp + 0x2c]
add ecx, 8
mov dword [ecx], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 8], eax
mov dword [ecx + 4], eax
lea eax, [eax*2 + 2]
push eax
mov eax, dword [esp + 0x44]
push dword [eax + 0x24]
push dword [ecx]
call fcn.004e4930
add esp, 0xc
jmp 0x435e11
mov ecx, dword [esp + 0x80]
test ecx, ecx
jne 0x435da4
mov edi, dword [esp + 0x38]
mov dword [esp + 0x10], 0x80004001
jmp 0x438147
mov dword [esp + 0x1c0], 0
mov byte [esp + 0x390], 0x10
lea edx, [esp + 0x1c0]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0xc]
mov dword [esp + 0x10], eax
test eax, eax
je 0x435de3
push dword [esp + 0x1c0]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [esp + 0x38]
jmp 0x438147
mov eax, dword [esp + 0x1c0]
test eax, eax
je 0x435e02
mov ecx, dword [esp + 0x4c]
push eax
add ecx, 8
call fcn.00412850
mov eax, dword [esp + 0x1c0]
push eax
mov byte [esp + 0x394], 0xe
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ecx
push dword [esp + 0x1c8]
mov ecx, dword [esp + 0xb0]
call fcn.0042fef0
mov ecx, eax
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x435e45
mov ecx, dword [esp + 0xa8]
call fcn.0042ff80
mov ecx, eax
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x435e4e
mov edi, dword [esp + 0x38]
jmp 0x438147
xorps xmm0, xmm0
mov dword [esp + 0x1dc], 0
xor eax, eax
movq qword [esp + 0x1d4], xmm0
xor edx, edx
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d8], edx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov byte [esp + 0x390], 0x11
mov dword [esp + 0x1cc], ecx
cmp dword [eax + 4], ecx
jbe 0x435fb0
mov eax, dword [eax]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 0x38], 0
je 0x435ec6
cmp byte [ecx + 0x3b], 0
jne 0x435ee1
cmp byte [ecx + 0x3a], 0
jne 0x435ee1
mov eax, dword [ecx + 0x20]
or eax, dword [ecx + 0x24]
jmp 0x435edb
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x435ee1
mov eax, dword [esp + 0x18]
add ecx, ecx
mov eax, dword [eax + 0x58]
cmp byte [eax + ecx*8 + 0xc], 0
jne 0x435f94
mov ecx, dword [esp + 0x1c0]
cmp edx, ecx
jne 0x435f79
mov eax, ecx
mov edx, 4
inc ecx
shr eax, 2
add ecx, eax
mov dword [esp + 0x1c0], ecx
xor ecx, ecx
mov eax, dword [esp + 0x1c0]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4361c1
mov ecx, dword [esp + 0x1d8]
test ecx, ecx
je 0x435f4a
shl ecx, 2
push ecx
push dword [esp + 0x1d8]
push eax
call fcn.004e4930
add esp, 0xc
push dword [esp + 0x1d4]
call fcn.004df97b
mov eax, dword [esp + 0x30]
add esp, 4
mov edx, dword [esp + 0x1d8]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1cc]
mov dword [eax + edx*4], ecx
inc edx
mov dword [esp + 0x1d8], edx
jmp 0x435f9b
mov ecx, dword [esp + 0x1cc]
mov eax, dword [esp + 0x60]
inc ecx
mov dword [esp + 0x1cc], ecx
cmp ecx, dword [eax + 4]
jb 0x435ea7
push eax
push 0x433340
lea ecx, [esp + 0x1dc]
call fcn.00438340
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1d8], eax
jbe 0x436327
mov ecx, dword [esp + 0x1d4]
xorps xmm0, xmm0
movq qword [esp + 0x220], xmm0
push 8
mov dword [esp + 0x22c], 0
mov ecx, dword [ecx + eax*4]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x224], 0
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1c8], eax
call fcn.004df9b3
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
je 0x436550
xor eax, eax
mov dword [esp + 0x220], edx
mov dword [esp + 0x224], 0
mov dword [esp + 0x228], 3
mov word [edx], ax
mov byte [esp + 0x390], 0x12
mov ecx, dword [esp + 0x1c4]
cmp byte [ecx + 0x39], al
je 0x4361d5
mov eax, dword [ecx + 0x34]
mov dword [esp + 0xdc], eax
mov al, byte [ecx + 0x3c]
mov byte [esp + 0xe4], al
mov eax, dword [ecx + 8]
mov dword [esp + 0xbc], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xc0], eax
mov al, byte [ecx + 0x3d]
mov byte [esp + 0xe0], al
mov eax, dword [ecx + 0x10]
mov dword [esp + 0xc4], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0xc8], eax
mov al, byte [ecx + 0x3e]
mov byte [esp + 0xe1], al
mov eax, dword [ecx + 0x18]
mov dword [esp + 0xcc], eax
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0xd0], eax
mov al, byte [ecx + 0x3f]
mov byte [esp + 0xe2], al
mov al, byte [ecx + 0x3a]
mov byte [esp + 0xf], al
mov byte [esp + 0xe5], al
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x94], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x98], eax
mov al, byte [ecx + 0x3b]
mov byte [esp + 0xe3], 0
mov byte [esp + 0xa1], al
test al, al
jne 0x43611f
cmp byte [esp + 0xf], al
jne 0x43611f
mov eax, dword [ecx + 0x20]
or eax, dword [ecx + 0x24]
mov byte [esp + 0xa0], 1
jne 0x436127
mov byte [esp + 0xa0], 0
lea eax, [ecx + 0x28]
mov byte [esp + 0xa2], 0
lea ecx, [esp + 0x220]
mov dword [esp + 0x40], eax
cmp eax, ecx
je 0x4362dc
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
cmp eax, 3
jbe 0x43619e
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
je 0x436511
mov eax, dword [esp + 0x24]
push eax
call fcn.004df97b
mov edx, dword [esp + 0x30]
add esp, 4
mov eax, dword [esp + 0x54]
mov dword [esp + 0x24], edx
mov dword [esp + 0x220], edx
mov dword [esp + 0x228], eax
mov dword [esp + 0x224], eax
lea eax, [eax*2 + 2]
push eax
mov eax, dword [esp + 0x44]
push dword [eax]
push edx
call fcn.004e4930
add esp, 0xc
jmp 0x4362dc
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
mov edx, dword [ecx]
lea eax, [esp + 0xbc]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x98]
push eax
call fcn.00434b10
mov eax, dword [esp + 0x1c4]
xor ecx, ecx
mov dword [esp + 0x224], 0
mov edx, dword [eax]
mov eax, dword [esp + 0x24]
mov word [eax], cx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xf0]
test eax, eax
je 0x4362dc
cmp dword [ecx + 0xe8], 0
je 0x4362dc
mov ecx, dword [eax + edx*4]
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x34], eax
cmp eax, 0x10000000
jae 0x4362dc
dec eax
cmp eax, 3
jbe 0x4362af
cmp eax, 0x40000000
jae 0x436539
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
je 0x436525
push dword [esp + 0x24]
xor ecx, ecx
mov word [eax], cx
call fcn.004df97b
mov eax, dword [esp + 0x30]
add esp, 4
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x24], eax
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xe8]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x34]
add eax, eax
push eax
push ecx
push dword [esp + 0x2c]
call fcn.004e4930
mov eax, dword [esp + 0x40]
add esp, 0xc
dec eax
mov dword [esp + 0x224], eax
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x220]
push eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.00431f20
mov byte [esp + 0x390], 0x11
push dword [esp + 0x24]
call fcn.004df97b
mov eax, dword [esp + 0x20]
add esp, 4
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x1d8]
jb 0x435fd5
mov byte [esp + 0x390], 0xe
push dword [esp + 0x1d4]
call fcn.004df97b
mov eax, dword [esp + 0x54]
add esp, 4
mov edx, dword [esp + 0x230]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
xor eax, eax
test edx, edx
je 0x436371
mov ecx, dword [esp + 0x22c]
add ecx, 0xc
mov dword [ecx], eax
lea ecx, [ecx + 0x10]
inc eax
cmp eax, edx
jb 0x436367
lea ecx, [esp + 0x22c]
call fcn.00438730
xor ecx, ecx
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x230], ecx
jbe 0x4380fb
mov eax, ecx
shl eax, 4
add eax, dword [esp + 0x22c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov dword [esp + 0x1c0], ecx
push ecx
lea ecx, [esp + 0x264]
call fcn.00438590
mov byte [esp + 0x390], 0x13
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 0x26c], 0
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], 0
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x40], eax
test eax, eax
je 0x436452
xor ecx, ecx
mov edx, 0xc
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
mov edx, eax
add esp, 4
test edx, edx
je 0x437e1d
mov eax, dword [esp + 0x40]
mov dword [esp + 0x26c], edx
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], eax
lea ecx, [eax + eax*2]
shl ecx, 2
push ecx
mov ecx, dword [esp + 0x1c4]
push dword [ecx + 0xc]
push edx
call fcn.004e4930
mov ecx, dword [esp + 0x1cc]
add esp, 0xc
mov byte [esp + 0x390], 0x14
mov edx, 2
mov al, byte [ecx + 0x18]
mov byte [esp + 0x278], al
mov al, byte [ecx + 0x19]
mov byte [esp + 0x279], al
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x27c], eax
mov al, byte [ecx + 0x20]
mov byte [esp + 0x280], al
mov al, byte [ecx + 0x21]
mov byte [esp + 0x281], al
mov eax, dword [ecx + 0x28]
xor ecx, ecx
mov dword [esp + 0x40], eax
inc eax
mul edx
mov dword [esp + 0x284], 0
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
mov edx, eax
add esp, 4
test edx, edx
je 0x4380e1
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x288], ecx
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 0x284], edx
mov eax, dword [ecx + 0x28]
inc eax
add eax, eax
push eax
push dword [ecx + 0x24]
push edx
call fcn.004e4930
add esp, 0xc
mov eax, dword [esp + 0x48]
mov byte [esp + 0x390], 0x15
cmp byte [eax + 9], 0
je 0x436564
cmp byte [eax + 0x2b], 0
je 0x436564
mov al, 1
jmp 0x436566
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
push 0x51c2b0
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0x13329ad
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x27]
mov byte [esp + 0x27], 0
push eax
call fcn.004ea58e
xor al, al
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x260]
push eax
call fcn.00433cb0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4380a9
mov eax, dword [esp + 0x34]
cmp byte [eax + 8], 0
je 0x436650
cmp byte [esp + 0x281], 0
jne 0x43666f
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x436646
add eax, 8
lea ecx, [esp + 0x284]
cmp eax, ecx
je 0x436646
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
cmp eax, dword [esp + 0x28c]
jbe 0x436620
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
je 0x437e31
push dword [esp + 0x284]
call fcn.004df97b
mov ecx, dword [esp + 0x44]
add esp, 4
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x284], ecx
mov dword [esp + 0x28c], eax
jmp 0x436627
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x288], eax
lea eax, [eax*2 + 2]
push eax
mov eax, dword [esp + 0x50]
push dword [eax + 8]
push ecx
call fcn.004e4930
add esp, 0xc
mov byte [esp + 0x281], 1
jmp 0x43666f
mov eax, dword [esp + 0x284]
xor ecx, ecx
mov byte [esp + 0x281], 0
mov dword [esp + 0x288], 0
mov word [eax], cx
push 0xb4
lea eax, [esp + 0x2c8]
push 0
push eax
call fcn.004e3fe0
add esp, 0xc
lea eax, [esp + 0x260]
lea ecx, [esp + 0x2c4]
push eax
call fcn.00423260
mov eax, dword [esp + 0x34]
mov byte [esp + 0x390], 0x16
mov ecx, dword [esp + 0x1e8]
mov eax, dword [eax + 0xc]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x8c], ecx
cmp dword [eax + 0x10], ecx
jbe 0x4376dd
lea esp, [esp]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + ecx*8]
lea eax, [eax + ecx*8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x80]
lea ecx, [edx*4]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x24]
mov eax, dword [eax + ecx]
cmp dword [edi + 4], eax
mov edi, dword [esp + 0x38]
mov dword [esp + 0x1cc], eax
jne 0x436b7c
mov eax, dword [esp + 0x1e4]
test eax, eax
je 0x4367b8
mov ecx, dword [eax]
push 3
push edx
push 2
push eax
call dword [ecx + 0x10]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x437eb2
mov esi, dword [esp + 0x18]
xor ecx, ecx
mov edx, dword [esp + 0x30]
mov eax, dword [esi + 0x130]
mov edx, dword [eax + edx]
mov dword [esp + 0x1c4], edx
cmp dword [esp + 0x1cc], ecx
jbe 0x4367b4
mov edi, edx
shl edi, 4
mov eax, dword [esi + 0x58]
cmp byte [edi + eax + 0xc], 0
je 0x4367a0
mov eax, dword [esp + 0x1e4]
inc ecx
push 3
push edx
mov dword [esp + 0x24], ecx
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x10]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
jne 0x437eb2
mov edx, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
inc edx
add edi, 0x10
mov dword [esp + 0x1c4], edx
cmp ecx, dword [esp + 0x1cc]
jb 0x436762
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
push 0
push 0
mov edx, dword [eax + 0x30]
mov esi, dword [eax + 8]
mov eax, dword [edx + ecx + 4]
mov ecx, dword [edx + ecx]
mov edi, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub edi, dword [esi + ecx*8]
sbb eax, dword [esi + ecx*8 + 4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x38]
mov eax, dword [edx + eax]
mov edx, dword [esi + eax*8]
add edx, dword [ecx + 0x110]
mov ecx, dword [esi + eax*8 + 4]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x90]
adc ecx, dword [eax + 0x114]
mov eax, dword [esp + 0xb0]
push ecx
push edx
push esi
mov eax, dword [eax + 0x54]
mov dword [esp + 0x30], eax
mov eax, dword [esi]
call dword [eax + 0x10]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
jne 0x437eb2
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x88]
push edx
push dword [esp + 0x1c8]
mov edx, dword [esp + 0x24]
push edi
call fcn.004331a0
mov esi, eax
mov dword [esp + 0x10], eax
test esi, esi
jne 0x437eb2
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x1c4]
push 0x18
add dword [ecx + 0x18], edi
adc dword [ecx + 0x1c], eax
call fcn.004df9b3
mov esi, eax
add esp, 4
mov dword [esp + 0x44], esi
test esi, esi
je 0x437e9e
mov eax, dword [esp + 0x3c]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov edi, dword [eax + 0x58]
mov ecx, dword [eax + 0x5c]
cmp edi, ecx
jne 0x43692e
mov eax, ecx
mov edx, 4
shr eax, 2
inc eax
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x1c], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x1c4], eax
test eax, eax
je 0x437e45
test edi, edi
je 0x43690c
lea ecx, [edi*4]
mov edi, dword [esp + 0x3c]
push ecx
push dword [edi + 0x54]
push eax
call fcn.004e4930
add esp, 0xc
jmp 0x436910
mov edi, dword [esp + 0x3c]
push dword [edi + 0x54]
call fcn.004df97b
mov eax, dword [esp + 0x1c8]
add esp, 4
mov dword [edi + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x5c], eax
jmp 0x436930
mov edi, eax
mov ecx, dword [edi + 0x58]
mov eax, dword [edi + 0x54]
push esi
mov dword [esp + 0x20c], 0
mov dword [eax + ecx*4], esi
inc dword [edi + 0x58]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, dword [edi + 0x38]
mov edx, dword [ecx + eax]
mov eax, dword [edi + 0x3c]
mov edi, dword [esp + 0x34]
add eax, edx
mov dword [esp + 0x204], eax
mov ecx, dword [ecx + edi + 4]
sub ecx, edx
mov dword [esp + 0x208], ecx
lea ecx, [esp + 0x204]
call fcn.0042bb60
mov eax, dword [esp + 0x204]
mov edi, dword [esp + 0x3c]
sub eax, dword [esp + 0x208]
jne 0x437e81
cmp dword [esi + 0x14], 0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c4], 0
mov eax, dword [edx + 0x30]
mov eax, dword [eax + ecx]
jbe 0x436a9e
lea esi, [eax*8]
mov eax, dword [edx + 8]
mov edi, dword [edi + 0x34]
mov ecx, dword [eax + esi + 8]
sub ecx, dword [eax + esi]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + esi + 0xc]
sbb ecx, dword [eax + esi + 4]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c0], ecx
mov ecx, dword [eax + 0x38]
cmp edi, ecx
jne 0x436a5a
mov eax, ecx
mov edx, 8
shr eax, 2
inc eax
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x34], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
je 0x437e59
test edi, edi
je 0x436a3b
lea ecx, [edi*8]
mov edi, dword [esp + 0x3c]
push ecx
push dword [edi + 0x30]
push eax
call fcn.004e4930
add esp, 0xc
jmp 0x436a3f
mov edi, dword [esp + 0x3c]
push dword [edi + 0x30]
call fcn.004df97b
mov eax, dword [esp + 0x20]
add esp, 4
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x34]
mov dword [edi + 0x38], eax
jmp 0x436a5c
mov edi, eax
mov eax, dword [edi + 0x34]
add esi, 8
mov ecx, dword [edi + 0x30]
mov edx, dword [esp + 0x28]
mov dword [ecx + eax*8], edx
mov edx, dword [esp + 0x1c0]
mov dword [ecx + eax*8 + 4], edx
mov edx, dword [esp + 0x1c4]
mov eax, dword [esp + 0x44]
inc edx
inc dword [edi + 0x34]
mov dword [esp + 0x1c4], edx
cmp edx, dword [eax + 0x14]
mov edx, dword [esp + 0x18]
jb 0x4369c1
mov ecx, dword [esp + 0x30]
mov eax, dword [edx + 0x2c]
mov esi, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x1c0], eax
cmp esi, eax
jae 0x437481
mov eax, dword [edx + 0x28]
mov edi, dword [edi + 0x28]
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x2c]
cmp edi, ecx
jne 0x436b4b
mov eax, ecx
mov edx, 8
shr eax, 2
inc eax
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x1c], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x1c4], eax
test eax, eax
je 0x437e6d
test edi, edi
je 0x436b29
lea ecx, [edi*8]
mov edi, dword [esp + 0x3c]
push ecx
push dword [edi + 0x24]
push eax
call fcn.004e4930
add esp, 0xc
jmp 0x436b2d
mov edi, dword [esp + 0x3c]
push dword [edi + 0x24]
call fcn.004df97b
mov eax, dword [esp + 0x1c8]
add esp, 4
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x2c], eax
jmp 0x436b4d
mov edi, eax
mov eax, dword [edi + 0x28]
inc esi
mov ecx, dword [edi + 0x24]
mov edx, dword [esp + 0x34]
mov dword [ecx + eax*8], edx
mov edx, dword [esp + 0x28]
mov dword [ecx + eax*8 + 4], edx
inc dword [edi + 0x28]
mov edx, dword [esp + 0x18]
cmp esi, dword [esp + 0x1c0]
jb 0x436ab7
jmp 0x437481
xorps xmm0, xmm0
mov dword [esp + 0x1dc], 0
xor ecx, ecx
movq qword [esp + 0x1d4], xmm0
xor eax, eax
mov dword [esp + 0x24], ecx
xor edx, edx
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], edx
mov byte [esp + 0x390], 0x17
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x1c], edx
test eax, eax
je 0x436c03
mov ecx, dword [eax]
push 4
push dword [esp + 0x38]
push 2
push eax
call dword [ecx + 0x10]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x437f87
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1d4]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x1cc], 0
xorps xmm0, xmm0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
movlpd qword [esp + 0x1f4], xmm0
mov eax, dword [eax + 0x130]
mov eax, dword [eax + edx]
jbe 0x436d95
mov edx, eax
lea eax, [edi + eax*4]
mov edi, dword [esp + 0x1c4]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x1f8]
shl edx, 4
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x58], eax
mov edi, edi
mov eax, dword [esp + 0x18]
xor dl, dl
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0x58]
add eax, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
cmp byte [eax + 0xc], dl
je 0x436cbb
mov eax, dword [esp + 0x1c0]
inc dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
js 0x436cbb
mov edx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x60]
mov esi, dword [edx]
mov eax, dword [eax]
mov edx, dword [esp + 0x28]
movzx edx, dl
mov eax, dword [eax + esi*4]
mov esi, dword [esp + 0x1e0]
cmp byte [eax + 0x38], 0
mov eax, 1
cmove edx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x1dc]
cmp edi, eax
jne 0x436d3c
mov edx, dword [esp + 0x1dc]
shr eax, 2
inc edx
add eax, edx
push eax
mov dword [esp + 0x23c], eax
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x1c4], eax
test eax, eax
je 0x437ecf
mov ecx, dword [esp + 0x24]
test edi, edi
je 0x436d0c
push edi
push ecx
push eax
call fcn.004e4930
mov ecx, dword [esp + 0x1e0]
add esp, 0xc
push ecx
call fcn.004df97b
mov ecx, dword [esp + 0x1c8]
add esp, 4
mov eax, dword [esp + 0x238]
mov edi, dword [esp + 0x1d8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1dc], eax
mov byte [edi + ecx], dl
mov edi, dword [esp + 0x1d8]
inc edi
mov dword [esp + 0x1d8], edi
test dl, dl
je 0x436d6b
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
add ecx, dword [eax]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x44]
adc ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
add dword [esp + 0x10], 0x10
add dword [esp + 0x1c0], 4
mov eax, dword [esp + 0x1cc]
cmp dword [esp + 0x1c], eax
jae 0x436dab
mov ecx, dword [esp + 0x1d4]
mov dword [esp + 0x24], ecx
jmp 0x436c60
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c0], 0
mov eax, dword [eax + 0x34]
mov dword [esp + 0x1f4], eax
push 0x1c
mov byte [esp + 0x394], 0x18
mov dword [esp + 0x2c], 0
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
je 0x437fe0
xorps xmm0, xmm0
mov dword [esp + 0x238], eax
movdqu xmmword [eax], xmm0
push eax
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], 0
mov dword [eax + 4], vtable.ICompressGetSubStreamSize.0
mov dword [eax + 8], 0
mov dword [eax], vtable.NArchive::N7z::CRepackInStreamWithSizes.0
mov dword [eax + 4], vtable.NArchive::N7z::CRepackInStreamWithSizes.1.0
mov dword [eax + 0xc], 0
mov ecx, dword [eax]
call dword [ecx + 4]
mov eax, dword [esp + 0x48]
mov byte [esp + 0x390], 0x19
cmp byte [eax + 0x2b], 0
je 0x436f91
mov eax, dword [esp + 0x190]
test eax, eax
je 0x436e56
lea esi, [eax + 8]
mov dword [esp + 0x24], esi
jmp 0x436e5e
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c4], 0
lea eax, [esp + 0x1c4]
mov byte [esp + 0x390], 0x1a
push eax
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x29c]
call fcn.00442030
push dword [esp + 0x294]
mov esi, dword [sym.imp.KERNEL32.dll_ResetEvent]
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x436ea8
call edi
push dword [esp + 0x298]
call esi
test eax, eax
jne 0x436eb7
call edi
push dword [esp + 0x29c]
call esi
test eax, eax
jne 0x436ec6
call edi
mov esi, dword [esp + 0x1c4]
xorps xmm0, xmm0
mov edi, dword [esp + 0x190]
mov word [esp + 0x2a0], 0x100
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a8], 0
movlpd qword [esp + 0x2ac], xmm0
test esi, esi
je 0x436f0a
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x436f17
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi + 0x34], esi
mov edi, dword [esp + 0x88]
test edi, edi
je 0x436f2b
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esp + 0x18c]
test ecx, ecx
je 0x436f3c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x18c], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1a4], edi
mov eax, dword [edi + 0x110]
mov dword [esp + 0x19c], eax
mov eax, dword [edi + 0x114]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1a8], eax
mov byte [esp + 0x390], 0x19
test esi, esi
je 0x436f85
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov edi, dword [esp + 0x1c0]
jmp 0x437150
push 0x40
call fcn.004df9b3
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
test edi, edi
je 0x437fcc
mov dword [esp + 0x6c], edi
push 0x40
push 0
push edi
call fcn.004e3fe0
lea eax, [edi + 8]
add esp, 0xc
mov dword [eax + 0x20], 0
mov dword [esp + 0x24], eax
mov dword [eax + 0x24], 0
mov dword [edi + 0x30], 0
mov dword [edi], vtable.NArchive::N7z::CFolderInStream2.0
mov dword [edi + 0x38], 0
mov byte [esp + 0x390], 0x1d
push 0x10000
mov dword [edi + 0x3c], 0
call fcn.004df9b3
add esp, 4
test eax, eax
je 0x437fb8
mov byte [esp + 0x390], 0x19
mov dword [edi + 0x34], eax
mov dword [edi + 0x3c], 0
mov eax, dword [edi]
push edi
call dword [eax + 4]
xorps xmm0, xmm0
mov dword [esp + 0x1c0], edi
movq qword [esp + 0x214], xmm0
push 8
mov byte [esp + 0x27], 0
mov byte [esp + 0x13], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x218], 0
call fcn.004df9b3
add esp, 4
test eax, eax
je 0x437fa4
xor ecx, ecx
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], 3
mov word [eax], cx
mov dword [esp + 0x1c4], ecx
push ecx
push ecx
push 1
push ecx
lea eax, [esp + 0x224]
mov byte [esp + 0x3a0], 0x1f
push eax
lea eax, [esp + 0x23]
mov byte [esp + 0x1df], cl
push eax
lea eax, [esp + 0x3b]
push eax
push esi
lea eax, [esp + 0x1eb]
push eax
lea eax, [esp + 0x1e8]
push eax
mov eax, dword [esp + 0x40]
push ecx
push ecx
push ecx
push dword [esp + 0x68]
lea ecx, [esp + 0x158]
push eax
push dword [eax + 0x114]
push dword [eax + 0x110]
push dword [esp + 0xcc]
push dword [esp + 0x100]
call fcn.0041fcc0
mov esi, dword [esp + 0x1c4]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x437f36
test esi, esi
je 0x437f2e
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, edi
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x437128
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, edi
mov dword [eax + 0x38], esi
mov byte [esp + 0x390], 0x1e
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [esp + 0x390], 0x19
push dword [esp + 0x214]
call fcn.004df97b
add esp, 4
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x1c], ecx
mov esi, dword [esp + 0x1e4]
test esi, esi
je 0x437170
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x437181
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x24]
mov dword [eax + 0x20], esi
mov esi, dword [esp + 0x210]
test esi, esi
je 0x437199
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x4371a6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x24], esi
mov eax, dword [eax + 0x130]
mov eax, dword [eax + edx]
mov dword [esp + 0x6c], eax
mov dword [ecx + 0x14], eax
lea eax, [esp + 0x1d4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x18], 0
mov byte [ecx + 1], 0
call fcn.00434050
mov dword [esp + 0x10], eax
test eax, eax
jne 0x437f5f
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x14], eax
lea eax, [esp + 0x1d4]
mov dword [esi + 0x10], eax
test edi, edi
je 0x437211
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x43721e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x48]
mov dword [esi + 0xc], edi
cmp byte [eax + 0x2b], 0
je 0x43724a
push dword [esp + 0x110]
mov byte [esp + 0x120], 0
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x43724a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xb0], eax
lea eax, [ecx + 0x30]
push edx
push eax
mov eax, dword [esp + 0xb0]
push dword [eax + 0x54]
lea eax, [esp + 0xb8]
push eax
lea eax, [ecx + 0x24]
add ecx, 0x54
push eax
call fcn.00431ff0
push eax
lea eax, [esp + 0x8c]
push eax
push esi
push dword [esp + 0xd8]
lea ecx, [esp + 0x2e8]
call fcn.00422050
mov dword [esp + 0x10], eax
cmp eax, 0x20000002
je 0x437f24
mov ecx, dword [esp + 0x48]
cmp byte [ecx + 0x2b], 0
je 0x437399
mov eax, dword [esi]
push esi
call dword [eax + 8]
xor esi, esi
mov dword [esp + 0x238], esi
test edi, edi
je 0x4372e7
mov eax, dword [edi]
push edi
call dword [eax + 8]
xor edi, edi
mov dword [esp + 0x1c0], edi
push 0xffffffffffffffff
push dword [esp + 0x118]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x188]
mov dword [esp + 0x1c4], eax
cmp eax, 1
je 0x437320
cmp byte [esp + 0x184], 0
jne 0x437320
test eax, eax
je 0x437369
mov dword [esp + 0x10], eax
jmp 0x437f63
mov eax, dword [esp + 0x210]
test eax, eax
je 0x43735c
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x130]
xor ecx, ecx
cmp dword [esp + 0x1c4], ecx
sete cl
lea ecx, [ecx*4 + 2]
push ecx
mov ecx, dword [esp + 0x34]
push dword [edx + ecx]
push 1
push eax
mov eax, dword [eax]
call dword [eax + 0x14]
test eax, eax
jne 0x437317
cmp dword [esp + 0x1c4], esi
jne 0x437f24
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x437f63
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x2ac], eax
jne 0x437f24
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x2b0], eax
jne 0x437f24
jmp 0x4373b9
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x3c]
cmp ecx, 1
je 0x437f03
test ecx, ecx
jne 0x437efd
test eax, eax
jne 0x437f63
mov edx, dword [esp + 0x24]
mov ecx, 0x80004005
mov dword [esp + 0x6c], 0
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 4]
cmp dword [edx + 0x18], eax
cmove ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x437f63
mov eax, dword [esp + 0x58]
cmp dword [esp + 0xac], eax
jne 0x437f24
mov eax, dword [esp + 0x44]
cmp dword [esp + 0xb0], eax
jne 0x437f24
mov byte [esp + 0x390], 0x18
test esi, esi
je 0x437418
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [esp + 0x390], 0x17
test edi, edi
je 0x43742a
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x1f4]
mov esi, dword [esp + 0x50]
cmp edx, dword [edi + 0x34]
jae 0x437456
mov edi, edi
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx + edx*8]
add dword [esi + 0x28], eax
mov eax, dword [ecx + edx*8 + 4]
adc dword [esi + 0x2c], eax
inc edx
cmp edx, dword [edi + 0x34]
jb 0x437440
mov eax, dword [esp + 0xac]
add dword [esi + 0x20], eax
mov eax, dword [esp + 0xb0]
adc dword [esi + 0x24], eax
mov byte [esp + 0x390], 0x16
push dword [esp + 0x1d4]
call fcn.004df97b
add esp, 4
mov eax, dword [esp + 0x80]
lea ecx, [edi + 0x18]
mov esi, dword [eax + 4]
call fcn.00410b20
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x1c0], 0
mov dword [eax + ecx*4], esi
mov eax, dword [esp + 0x18]
inc dword [edi + 0x1c]
cmp dword [esp + 0x1cc], 0
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + 0x130]
mov edi, dword [esp + 0x38]
mov ecx, dword [eax + ecx]
mov dword [esp + 0x28], ecx
jbe 0x4376b8
mov esi, dword [esp + 0x1c0]
mov edx, ecx
shl edx, 4
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
cmp byte [edx + eax + 0xc], 0
je 0x43769c
inc esi
mov dword [esp + 0x1c0], esi
mov esi, dword [edi + ecx*4]
test esi, esi
js 0x437695
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov esi, dword [eax + esi*4]
cmp byte [esi + 0x38], 0
jne 0x437695
xorps xmm0, xmm0
mov dword [esp + 0x25c], 0
movq qword [esp + 0x254], xmm0
push 8
mov dword [esp + 0x258], 0
call fcn.004df9b3
add esp, 4
test eax, eax
je 0x437ee3
xor ecx, ecx
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], 0
mov dword [esp + 0x25c], 3
mov word [eax], cx
mov edx, dword [esp + 0x28]
lea eax, [esp + 0xbc]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x100]
mov byte [esp + 0x394], 0x20
push eax
call fcn.00434b10
cmp byte [esi + 0x39], 0
je 0x43763d
mov eax, dword [esi + 0x34]
lea ecx, [esp + 0x254]
mov dword [esp + 0xdc], eax
mov al, byte [esi + 0x3c]
mov byte [esp + 0xe4], al
mov eax, dword [esi + 8]
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc0], eax
mov al, byte [esi + 0x3d]
mov byte [esp + 0xe0], al
mov eax, dword [esi + 0x10]
mov dword [esp + 0xc4], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0xc8], eax
mov al, byte [esi + 0x3e]
mov byte [esp + 0xe1], al
mov eax, dword [esi + 0x18]
mov dword [esp + 0xcc], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xd0], eax
mov al, byte [esi + 0x3f]
mov byte [esp + 0xe2], al
mov al, byte [esi + 0x3a]
mov byte [esp + 0xe5], al
mov al, byte [esi + 0x3b]
mov byte [esp + 0x109], al
lea eax, [esi + 0x28]
push eax
mov byte [esp + 0xe7], 0
call fcn.004128e0
jmp 0x437652
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x254]
push eax
push dword [esp + 0x2c]
call fcn.0042c080
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x254]
push eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x104]
push eax
call fcn.00431f20
mov byte [esp + 0x390], 0x16
push dword [esp + 0x254]
call fcn.004df97b
mov ecx, dword [esp + 0x2c]
add esp, 4
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x1c0]
inc ecx
add edx, 0x10
mov dword [esp + 0x28], ecx
mov dword [esp + 0x80], edx
cmp esi, dword [esp + 0x1cc]
jb 0x4374e4
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x40]
inc ecx
mov esi, dword [esp + 0x1e0]
mov dword [esp + 0x8c], ecx
cmp ecx, dword [eax + 0x10]
jb 0x4366d0
jmp 0x4376e1
mov edi, dword [esp + 0x38]
mov esi, dword [eax + 4]
mov dword [esp + 0x1c0], esi
test esi, esi
je 0x437db5
xorps xmm0, xmm0
mov dword [esp + 0x250], 0
movq qword [esp + 0x248], xmm0
mov dword [esp + 0x248], 0
mov dword [esp + 0x24c], 0
mov dword [esp + 0x250], 0
push esi
lea ecx, [esp + 0x24c]
mov byte [esp + 0x394], 0x21
call fcn.00438c20
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24c], esi
mov dword [esp + 0x1f4], 0
mov al, byte [eax + 0x29]
mov byte [esp + 0x54], al
test esi, esi
je 0x4377c1
mov esi, dword [esp + 0x248]
mov edi, dword [esp + 0x1f4]
nop
mov eax, dword [esp + 0x40]
push dword [esp + 0x54]
mov eax, dword [eax]
mov ecx, dword [eax + edi*4]
lea edx, [eax + edi*4]
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
push dword [eax + ecx*4]
push ecx
lea ecx, [esp + 0xc8]
call fcn.00433450
inc edi
lea esi, [esi + 0x14]
movdqu xmm0, xmmword [eax]
movdqu xmmword [esi - 0x14], xmm0
mov eax, dword [eax + 0x10]
mov dword [esi - 4], eax
cmp edi, dword [esp + 0x1c0]
jb 0x437770
mov edi, dword [esp + 0x38]
mov al, byte [esp + 0x54]
mov esi, dword [esp + 0x1c0]
mov byte [esp + 0x1d3], al
lea eax, [esp + 0x1d3]
push eax
push ecx
lea ecx, [esp + 0x250]
call fcn.004388b0
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
je 0x438095
mov dword [esp + 0x1f4], eax
xor ecx, ecx
mov byte [esp + 0x390], 0x22
test esi, esi
je 0x437836
mov edx, dword [esp + 0x248]
mov edi, eax
add edx, 4
mov eax, dword [edx]
lea edx, [edx + 0x14]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, esi
jb 0x437825
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x1c0]
xor esi, esi
mov dword [esp + 0x58], esi
test eax, eax
je 0x437d8a
jmp 0x437850
xorps xmm0, xmm0
mov dword [esp + 0x40], 0
xor edx, edx
movlpd qword [esp + 0x6c], xmm0
cmp esi, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x28], eax
jae 0x43799a
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x1c], edi
nop
xor eax, eax
cmp eax, dword [esp + 0xf8]
ja 0x43798f
jb 0x43789e
cmp edx, dword [esp + 0xf4]
jae 0x43798f
mov ecx, dword [esp + 0x44]
lea eax, [edx + esi]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
add edi, dword [esi + 0x20]
mov dword [esp + 0x1c], edi
adc ecx, dword [esi + 0x24]
mov dword [esp + 0x28], ecx
cmp ecx, dword [eax + 0x24]
ja 0x43798f
jb 0x4378db
cmp edi, dword [eax + 0x20]
ja 0x43798f
cmp byte [eax + 0x28], 0
je 0x437976
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x4378f1
or ecx, 0xffffffff
jmp 0x43791a
mov edx, dword [esi + 0x28]
dec eax
lea ecx, [edx + eax*2]
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x437916
cmp ax, 0x2f
je 0x437916
cmp ecx, edx
je 0x4378ec
movzx eax, word [ecx - 2]
sub ecx, 2
cmp eax, 0x5c
jne 0x437900
sub ecx, edx
sar ecx, 1
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x437926
or eax, 0xffffffff
jmp 0x437945
mov edx, dword [esi + 0x28]
dec eax
cmp word [edx + eax*2], 0x2e
lea eax, [edx + eax*2]
je 0x437941
cmp eax, edx
je 0x437921
sub eax, 2
cmp word [eax], 0x2e
jne 0x437934
sub eax, edx
sar eax, 1
cmp eax, ecx
jg 0x43794e
mov ecx, dword [esi + 0x2c]
jmp 0x437951
lea ecx, [eax + 1]
mov eax, dword [esi + 0x28]
mov edx, dword [esp + 0x30]
lea ecx, [eax + ecx*2]
test edx, edx
jne 0x437965
mov dword [esp + 0x40], ecx
jmp 0x437976
mov edx, dword [esp + 0x40]
call fcn.00411840
mov edx, dword [esp + 0x30]
test al, al
je 0x43798f
mov esi, dword [esp + 0x58]
inc edx
mov dword [esp + 0x30], edx
lea eax, [edx + esi]
cmp eax, dword [esp + 0x1c0]
jb 0x437880
mov edi, dword [esp + 0x38]
cmp edx, 1
jae 0x4379aa
jmp 0x4379a2
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], 1
mov ecx, dword [esp + 0x50]
push 0
push 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
jne 0x43802c
push 0x60
call fcn.004df9b3
mov esi, eax
add esp, 4
test esi, esi
je 0x438081
push 0x60
push 0
push esi
call fcn.004e3fe0
add esp, 0xc
mov ecx, esi
call fcn.00438250
mov esi, eax
mov dword [esp + 0x1cc], esi
test esi, esi
je 0x437a01
mov ecx, dword [esi]
push esi
call dword [ecx + 4]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x58]
push dword [esp + 0x30]
mov byte [esp + 0x394], 0x23
lea eax, [ecx + eax*4]
mov ecx, esi
push eax
push dword [esp + 0x98]
mov dword [esp + 0x40], eax
call fcn.00425640
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x28]
mov esi, dword [ecx + 0x34]
mov dword [esp + 0xf0], eax
lea eax, [ecx + 0x30]
push edx
push eax
mov eax, dword [esp + 0xb0]
push dword [eax + 0x54]
lea eax, [esp + 0xf8]
push eax
lea eax, [ecx + 0x24]
add ecx, 0x54
push eax
call fcn.00431ff0
push eax
lea eax, [esp + 0x8c]
push eax
push dword [esp + 0x1e8]
lea ecx, [esp + 0x2e4]
push dword [esp + 0xd8]
call fcn.00422050
mov dword [esp + 0x10], eax
test eax, eax
jne 0x438013
mov ecx, dword [esp + 0x1cc]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ecx + 0x2c]
jne 0x43800b
mov edx, dword [esp + 0x3c]
cmp esi, dword [edx + 0x34]
jae 0x437ada
mov edi, dword [esp + 0x50]
mov edi, edi
mov ecx, dword [edx + 0x30]
mov eax, dword [ecx + esi*8]
add dword [edi + 0x28], eax
mov eax, dword [ecx + esi*8 + 4]
adc dword [edi + 0x2c], eax
inc esi
cmp esi, dword [edx + 0x34]
jb 0x437ac0
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
xorps xmm0, xmm0
mov eax, dword [esp + 0xec]
movlpd qword [esp + 0x6c], xmm0
mov dword [esp + 0x1c], 0
add dword [ecx + 0x20], eax
mov eax, dword [esp + 0xf0]
adc dword [ecx + 0x24], eax
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], eax
jbe 0x437cf8
mov eax, dword [esp + 0x34]
lea ebx, [ebx]
mov ecx, dword [eax]
xorps xmm0, xmm0
mov eax, dword [esp + 0x60]
movq qword [esp + 0x23c], xmm0
push 8
mov dword [esp + 0x248], 0
mov eax, dword [eax]
mov dword [esp + 0x240], 0
mov esi, dword [eax + ecx*4]
call fcn.004df9b3
add esp, 4
test eax, eax
je 0x43806d
xor ecx, ecx
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], 0
mov dword [esp + 0x244], 3
mov word [eax], cx
mov byte [esp + 0x390], 0x24
lea eax, [esp + 0xbc]
push eax
cmp byte [esi + 0x39], cl
je 0x437bc6
lea edx, [esp + 0x98]
mov ecx, esi
call fcn.00433e90
lea eax, [esi + 0x28]
push eax
lea ecx, [esp + 0x240]
call fcn.004128e0
jmp 0x437bec
mov edx, dword [esi]
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.00434b10
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x23c]
push eax
push dword [esi]
call fcn.0042c080
cmp byte [esp + 0xe5], 0
jne 0x437ff4
cmp byte [esp + 0xa1], 0
jne 0x437ff4
mov edx, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0x38]
cmp byte [ecx + eax], 0
jne 0x437c4f
mov eax, dword [esp + 0x24]
add eax, dword [esi + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
adc eax, dword [esi + 0x24]
mov byte [esp + 0x390], 0x23
push dword [esp + 0x23c]
mov dword [esp + 0x14], eax
call fcn.004df97b
mov esi, dword [esp + 0x2c]
jmp 0x437cd7
mov esi, dword [esp + 0x28]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x9c], eax
mov eax, dword [edx + 0x50]
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
mov dword [esp + 0x94], ecx
or ecx, eax
mov dword [esp + 0x98], eax
je 0x437c92
inc dword [esp + 0x1c]
mov byte [esp + 0xa2], 1
mov byte [esp + 0xa0], 1
jmp 0x437ca2
mov byte [esp + 0xa2], 0
mov byte [esp + 0xa0], 0
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x23c]
push eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.00431f20
mov byte [esp + 0x390], 0x23
push dword [esp + 0x23c]
call fcn.004df97b
mov eax, dword [esp + 0x38]
inc esi
add eax, 4
mov dword [esp + 0x2c], esi
add esp, 4
mov dword [esp + 0x34], eax
cmp esi, dword [esp + 0x30]
jb 0x437b30
mov edx, dword [esp + 0x3c]
lea esi, [edx + 0x18]
mov ecx, esi
call fcn.00410b20
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], edx
inc dword [esi + 4]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
mov eax, edx
add esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
or eax, ecx
mov dword [esp + 0x58], esi
je 0x437d66
mov eax, dword [esp + 0x68]
cmp eax, ecx
jb 0x437d66
ja 0x437d3b
cmp dword [esp + 0x64], edx
jb 0x437d66
sub dword [esp + 0x64], edx
sbb eax, ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x68], eax
push dword [esp + 0x68]
push dword [esp + 0x68]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x438013
mov byte [esp + 0x390], 0x22
mov ecx, dword [esp + 0x1cc]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esp + 0x1c0]
cmp esi, eax
jb 0x437850
push dword [esp + 0x44]
mov byte [esp + 0x394], 0x21
call fcn.004df97b
add esp, 4
mov byte [esp + 0x390], 0x16
push dword [esp + 0x248]
call fcn.004df97b
add esp, 4
lea ecx, [esp + 0x2c4]
mov byte [esp + 0x390], 0x15
call fcn.004238b0
mov byte [esp + 0x390], 0xe
push dword [esp + 0x284]
call fcn.004df97b
add esp, 4
push dword [esp + 0x26c]
call fcn.004df97b
add esp, 4
lea ecx, [esp + 0x260]
call fcn.00423b70
mov ecx, dword [esp + 0x2c]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esp + 0x230]
jae 0x4380ff
mov esi, dword [esp + 0x1e0]
jmp 0x436390
push 0x51c2c8
lea eax, [esp + 0x1a]
mov byte [esp + 0x1a], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x1a]
mov byte [esp + 0x1a], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x1a]
mov byte [esp + 0x1a], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x1a]
mov byte [esp + 0x1a], 0
push eax
call fcn.004ea58e
push 0x51c2b0
lea eax, [esp + 0x1f8]
mov dword [esp + 0x1f8], 0x1330368
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x1a]
mov byte [esp + 0x1a], 0
push eax
call fcn.004ea58e
mov edi, dword [esp + 0x38]
lea ecx, [esp + 0x2c4]
mov byte [esp + 0x390], 0x15
call fcn.004238b0
jmp 0x4380ad
push 0x51c2c8
lea eax, [esp + 0x1a]
mov byte [esp + 0x1a], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x8b]
mov byte [esp + 0x8b], 0
push eax
call fcn.004ea58e
mov dword [esp + 0x10], ecx
jmp 0x437f63
mov eax, dword [esp + 0x210]
test eax, eax
je 0x437f24
mov ecx, dword [eax]
push 2
push dword [esp + 0x38]
push 2
push eax
call dword [ecx + 0x14]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x437f63
mov dword [esp + 0x10], 0x80004005
jmp 0x437f63
mov dword [esp + 0x10], 0x80004005
mov byte [esp + 0x390], 0x1e
test esi, esi
je 0x437f48
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [esp + 0x390], 0x19
push dword [esp + 0x214]
call fcn.004df97b
add esp, 4
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x390], 0x18
test esi, esi
je 0x437f75
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [esp + 0x390], 0x17
test edi, edi
je 0x437f87
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [esp + 0x390], 0x16
push dword [esp + 0x1d4]
call fcn.004df97b
mov edi, dword [esp + 0x3c]
jmp 0x438054
push 0x51c2c8
lea eax, [esp + 0x1b]
mov byte [esp + 0x1b], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x1b]
mov byte [esp + 0x1b], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x1b]
mov byte [esp + 0x1b], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x1b]
mov byte [esp + 0x1b], 0
push eax
call fcn.004ea58e
mov byte [esp + 0x390], 0x23
push dword [esp + 0x23c]
call fcn.004df97b
add esp, 4
mov dword [esp + 0x10], 0x80004005
mov byte [esp + 0x390], 0x22
mov ecx, dword [esp + 0x1cc]
test ecx, ecx
je 0x43802c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [esp + 0x44]
mov byte [esp + 0x394], 0x21
call fcn.004df97b
add esp, 4
mov byte [esp + 0x390], 0x16
push dword [esp + 0x248]
call fcn.004df97b
add esp, 4
mov byte [esp + 0x390], 0x15
lea ecx, [esp + 0x2c4]
call fcn.004238b0
jmp 0x4380ad
push 0x51c2c8
lea eax, [esp + 0x63]
mov byte [esp + 0x63], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x63]
mov byte [esp + 0x63], 0
push eax
call fcn.004ea58e
push 0x51c2c8
lea eax, [esp + 0x1b]
mov byte [esp + 0x1b], 0
push eax
call fcn.004ea58e
mov edi, dword [esp + 0x38]
mov byte [esp + 0x390], 0xe
push dword [esp + 0x284]
call fcn.004df97b
add esp, 4
push dword [esp + 0x26c]
call fcn.004df97b
add esp, 4
lea ecx, [esp + 0x260]
call fcn.00423b70
jmp 0x438147
push 0x51c2c8
lea eax, [esp + 0x8a]
mov byte [esp + 0x8a], 0
push eax
call fcn.004ea58e
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x50]
push 0
push 0
push edx
mov eax, dword [edx]
call dword [eax + 0xc]
mov ecx, eax
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x438147
mov ecx, dword [esp + 0x3c]
call fcn.00432b30
mov eax, dword [esp + 0x1e4]
test eax, eax
je 0x438141
mov ecx, dword [eax]
push 7
push 0xffffffffffffffff
push 0
push eax
call dword [ecx + 0x10]
mov ecx, eax
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x438147
xor eax, eax
mov dword [esp + 0x10], eax
mov byte [esp + 0x390], 0xa
mov eax, dword [esp + 0x1e0]
test eax, eax
je 0x438160
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x10c]
mov byte [esp + 0x390], 9
call fcn.00434810
lea ecx, [esp + 0x294]
mov byte [esp + 0x390], 8
call fcn.00421290
mov ecx, dword [esp + 0x50]
mov byte [esp + 0x390], 4
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [esp + 0x1e8]
call fcn.00438860
mov byte [esp + 0x390], 2
push dword [esp + 0x22c]
call fcn.004df97b
add esp, 4
mov byte [esp + 0x390], 1
push edi
call fcn.004df97b
mov esi, dword [esp + 0x14]
add esp, 4
mov byte [esp + 0x390], 0
mov eax, dword [esp + 0x210]
test eax, eax
je 0x4381eb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x390], 0xffffffff
mov ecx, dword [esp + 0x1e4]
test ecx, ecx
je 0x438207
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, esi
mov ecx, dword [esp + 0x388]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x374]
xor ecx, esp
call fcn.004df96c
mov esp, ebp
pop ebp
ret 0x20