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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x370
mov esi, esp
mov dword [esi + 0x358], ebp
lea edx, [esi + 0x360]
mov edi, ecx
call 0x43b728
pop eax
mov dword [edx - 4], esp
or dword [edx + 8], 0xffffffff
mov dword [edx + 4], 0x449e10
lea ebx, [edi + 0x20]
mov dword [esi + 0x10], eax
mov dword [esi + 0x44], edi
mov ecx, dword fs:[0]
mov dword [edx], ecx
mov dword fs:[0], edx
cmp dword [edi + 0x2c], 0
je 0x43b787
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
push 0xa000
push dword [edi + 0x3c]
push dword [edi + 0x38]
call fcn.00416dbb
add esp, 0xc
mov edi, edx
mov ecx, ebx
mov edx, eax
push edi
mov edi, dword [esi + 0x44]
call fcn.0043b576
pop ecx
test eax, eax
jne 0x43c82c
cmp byte [edi + 0x1c], 0
mov dword [esi + 0x1a4], ebx
jne 0x43c191
mov edx, dword [edi + 4]
mov eax, edi
lea edi, [esi + 0x264]
mov ecx, edi
push 9
push 0x471160
push dword [eax + 8]
call fcn.0042b100
add esp, 0xc
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
and dword [esi + 0x368], 0
lea ecx, [esi + 0xc0]
mov dword [esi + 0x8c], edx
mov dword [esi + 0x30], edx
mov dword [esi + 0xc], eax
push eax
call fcn.004071eb
pop eax
mov eax, dword [esi + 0x44]
mov dl, byte [esi + 0x270]
mov edi, dword [esi + 0xc8]
mov ebx, dword [esi + 0xc0]
mov byte [esi + 0x18], dl
mov edx, dword [eax + 0x18]
lea ecx, [eax + 0x10]
mov dword [esi + 0x28], edi
mov dword [esi + 0x150], ecx
cmp edx, dword [eax + 0x10]
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x14], eax
jne 0x43b834
mov dword [esi + 0x90], ebx
mov dword [esi + 0x368], 0x20
call fcn.0043b0ae
mov edi, dword [esi + 0x44]
mov ebx, dword [esi + 0x90]
mov edx, dword [edi + 0x18]
jmp 0x43b837
mov edi, dword [esi + 0x44]
mov ecx, dword [edi + 0x14]
mov eax, edx
inc edx
shl eax, 4
mov dword [ecx + eax], ebx
mov ebx, dword [esi + 0x14]
mov dword [ecx + eax + 4], ebx
mov ebx, dword [esi + 0x28]
mov dword [ecx + eax + 8], ebx
mov bh, byte [esi + 0x18]
mov byte [ecx + eax + 0xc], bh
mov dword [edi + 0x18], edx
mov edx, dword [esi + 0x30]
and dword [esi + 0x368], 0
lea ecx, [esi + 0x240]
mov dword [esi + 0x8c], edx
push 0x12
push 0x471169
push dword [esi + 0xc]
call fcn.0042b100
add esp, 0xc
mov ecx, dword [esi + 0x244]
mov edx, dword [esi + 0x248]
mov eax, dword [esi + 0x30]
mov dword [esi + 0x368], 1
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x90], ecx
mov dword [esi + 0xc], edx
call fcn.0042b1e0
test al, al
je 0x43b92d
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x90]
and dword [esi + 0xc0], 0
and dword [esi + 0xc8], 0
and dword [esi + 0xcc], 0
mov dword [esi + 0xd0], 7
and dword [esi + 0xda], 0
and dword [esi + 0xd8], 0
and dword [esi + 0xd4], 0
and dword [esi + 0xde], 0
mov byte [esi + 0xdc], 1
lea ecx, [esi + 0x1b8]
mov dword [esi + 0x58], eax
lea eax, [esi + 0xc0]
mov dword [esi + 0x5c], edx
push eax
push dword [esi + 0xc]
call fcn.00425ed0
pop eax
pop ecx
cmp byte [esi + 0x1b8], 4
jne 0x43b95c
mov edx, dword [esi + 0x1bc]
jmp 0x43b973
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x44]
mov ecx, dword [esi + 0x240]
mov edx, dword [esi + 0x90]
mov byte [ebx + 0x1c], 1
call fcn.00417311
mov ecx, dword [esi + 0x264]
mov edx, edi
mov edi, ebx
call fcn.00417311
jmp 0x43c191
mov eax, dword [esi + 0x1b8]
mov edx, dword [esi + 0x1bc]
mov ebx, dword [esi + 0x30]
cmp al, 4
jne 0x43ba71
lea edi, [esi + 0xc0]
mov dword [esi + 0xc], edx
mov ecx, edi
call fcn.004260e0
mov eax, dword [edi]
xor eax, 2
or eax, dword [edi + 4]
jne 0x43b9ea
mov al, byte [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
cmp al, 4
je 0x43b9f0
cmp al, 3
jne 0x43b9de
mov eax, dword [ecx]
mov dword [esi + 0x18], ecx
mov ecx, dword [ecx + 4]
mov dword [esi + 0x368], 0x1f
mov dword [esi + 0x28], eax
push eax
mov dword [esi + 0x14], ecx
call dword [ecx]
add esp, 4
mov eax, dword [esi + 0x14]
cmp dword [eax + 4], 0
je 0x43b9d3
mov edx, dword [eax + 8]
mov ecx, dword [esi + 0x28]
call fcn.004070e0
push 4
pop edx
mov ecx, dword [esi + 0x18]
call fcn.004070e0
mov edx, dword [esi + 0xc]
xor ecx, ecx
mov al, 1
mov dword [esi + 0x48], eax
jmp 0x43b9fa
mov ecx, dword [esi + 0xf8]
mov edx, dword [esi + 0xc]
mov dword [esi + 0x48], 0
and dword [esi + 0x288], 0
mov dword [esi + 0x28c], 1
and dword [esi + 0x290], 0
test ecx, ecx
mov dword [esi + 0x2c], 0
je 0x43baa6
and dword [esi + 0xc4], 0
mov edx, ecx
lea edi, [esi + 0x1b8]
mov ebx, ecx
lea eax, [esi + 0xc0]
not edx
mov ecx, edi
shr edx, 0x1f
push eax
push ebx
call fcn.004073e0
pop eax
pop ecx
cmp dword [edi], 0
mov eax, dword [edi + 4]
je 0x43ba92
mov edx, dword [esi + 0xc]
cmp eax, 0x80000001
mov ecx, ebx
je 0x43baa6
mov ebx, dword [esi + 0x30]
mov word [esi + 0x64], 0x2601
mov dword [esi + 0x60], 0x80000000
jmp 0x43c13d
mov ecx, eax
mov byte [esi + 0x64], al
shr eax, 0x18
shr ecx, 8
mov byte [esi + 0x67], al
mov word [esi + 0x65], cx
mov dword [esi + 0x68], edx
mov dword [esi + 0x60], 0x80000000
jmp 0x43c14e
mov edx, dword [esi + 0xc]
mov dword [esi + 0x28c], eax
mov dword [esi + 0x288], ebx
mov dword [esi + 0x2c], ebx
mov ecx, ebx
cmp byte [esi + 0x48], 0
jne 0x43bad6
mov edi, ecx
add edi, 0x400
jb 0x43bad6
mov eax, edi
and eax, 0x1fff
je 0x43badb
mov edx, ecx
mov ecx, 0x2000
sub ecx, eax
add edi, ecx
mov ecx, edx
mov edx, dword [esi + 0xc]
setb al
test al, 1
je 0x43badb
mov edi, 0x2000
test ecx, ecx
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x50], edi
mov edi, 0
mov dword [esi + 0x14], 0
sete al
or al, byte [esi + 0x48]
cmp al, 1
jne 0x43bb4b
mov eax, dword [esi + 0x2c]
cmp eax, 0x20
mov ecx, eax
jae 0x43bb4b
lea eax, [esi + 0x288]
mov dword [esi + 0x368], 0x1d
lea ecx, [esi + 0xc0]
push eax
call fcn.004261e0
pop eax
mov bl, byte [esi + 0xc0]
cmp bl, 4
jne 0x43bdbf
cmp dword [esi + 0xc4], 0
je 0x43bdf5
mov ecx, dword [esi + 0x288]
mov edi, dword [esi + 0x290]
mov edx, dword [esi + 0xc]
cmp edi, ecx
jne 0x43bb99
cmp ecx, dword [esi + 0x2c]
jne 0x43bb99
lea eax, [esi + 0x288]
mov dword [esi + 0x368], 0x1d
lea ecx, [esi + 0xc0]
push eax
call fcn.004261e0
pop eax
mov bl, byte [esi + 0xc0]
cmp bl, 4
jne 0x43bdbf
cmp dword [esi + 0xc4], 0
je 0x43bdfb
mov ecx, dword [esi + 0x288]
mov edi, dword [esi + 0x290]
cmp edi, ecx
mov dword [esi + 0x20], edi
jne 0x43bc3c
mov edi, ecx
mov bh, 0x26
mov bl, 1
add edi, 0x20
jb 0x43bdf9
lea eax, [ecx + ecx]
mov dword [esi + 0x54], ecx
cmp eax, edi
cmova edi, eax
test ecx, ecx
je 0x43bbd9
mov eax, dword [esi + 0x28c]
mov dword [esi + 0xc0], eax
xor eax, eax
mov dword [esi + 0xc8], ecx
inc eax
jmp 0x43bbdb
xor eax, eax
mov edx, edi
mov dword [esi + 0xc4], eax
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x1b8]
not edx
shr edx, 0x1f
push eax
push edi
call fcn.004211a0
pop eax
pop ecx
cmp dword [esi + 0x1b8], 0
mov eax, dword [esi + 0x1bc]
je 0x43bc21
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x54]
cmp eax, 0x80000001
mov dword [esi + 0x18], eax
je 0x43bc3c
jmp 0x43be06
mov dword [esi + 0x28c], eax
mov dword [esi + 0x288], edi
mov ecx, edi
mov edi, dword [esi + 0x20]
mov dword [esi + 0x368], 0x1d
mov eax, dword [esi + 0x28c]
mov dword [esi + 0x54], ecx
sub ecx, edi
mov edx, dword [esi + 0xc]
mov dword [esi + 0x368], 0x1d
add eax, edi
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x50]
cmp ecx, eax
cmovae ecx, eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0xc4], ecx
and dword [esi + 0xc8], 0
mov dword [esi + 0x260], ecx
lea ecx, [esi + 0x1b8]
mov dword [esi + 0xcc], eax
lea eax, [esi + 0xc0]
push eax
call fcn.004263c0
pop eax
mov al, byte [esi + 0x1b8]
cmp al, 4
je 0x43bd3f
movzx eax, al
mov eax, dword [eax*4 + 0x43dea8]
add eax, dword [esi + 0x10]
jmp eax
mov edx, dword [esi + 0xcc]
mov ecx, dword [esi + 0xc8]
mov edi, dword [esi + 0x20]
mov eax, edx
sub eax, ecx
mov dword [esi + 0x14], eax
jb 0x43d74b
mov eax, dword [esi + 0xc4]
cmp edx, eax
ja 0x43d73a
test ecx, ecx
je 0x43be01
add edi, ecx
cmp byte [esi + 0x48], 0
mov dword [esi + 0x290], edi
je 0x43bdb4
mov ebx, dword [esi + 0x260]
mov eax, dword [esi + 0x50]
cmp edx, ebx
mov edx, 0xffffffff
cmovne eax, edx
cmp ecx, ebx
jne 0x43bdb1
mov edx, dword [esi + 0xc]
cmp ebx, eax
mov ecx, ebx
jb 0x43bdac
test eax, eax
lea eax, [eax + eax]
mov ecx, 0xffffffff
cmovs eax, ecx
mov dword [esi + 0x50], eax
jmp 0x43bdb7
mov dword [esi + 0x50], eax
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x54]
jmp 0x43bb4b
movzx ecx, byte [esi + 0xc3]
movzx eax, word [esi + 0xc1]
mov edi, dword [esi + 0xc4]
shl ecx, 0x10
mov bh, al
or ecx, eax
shr ecx, 8
mov dword [esi + 0x18], ecx
jmp 0x43be06
xor edi, edi
jmp 0x43be01
jmp 0x43be03
mov edi, dword [esi + 0x290]
mov bl, 4
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], edi
mov edx, dword [esi + 0x28c]
mov edi, dword [esi + 0x290]
lea ecx, [esi + 0xc0]
mov dword [esi + 0x10], edx
push edi
call fcn.004096d0
pop eax
lea eax, [esi + 0xc0]
cmp dword [eax], 0
movzx eax, bh
je 0x43be63
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
shl edx, 8
or edx, eax
cmp bl, 4
mov eax, 0x4713e4
cmove ecx, eax
movzx eax, bl
push 2
pop ebx
cmovne ebx, eax
mov eax, edx
and dword [esi + 0x290], 0
mov edx, dword [esi + 0xc]
jmp 0x43c10c
mov edx, dword [esi + 0xc]
cmp bl, 4
mov dword [esi + 0x290], edi
jne 0x43c0fc
mov eax, dword [esi + 0x290]
movq xmm0, qword [esi + 0x288]
mov dword [esi + 0x68], eax
movq qword [esi + 0x60], xmm0
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x30]
cmp eax, 0x80000000
je 0x43c14e
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x68]
and dword [esi + 0x60], 0
mov dword [esi + 0x10], eax
push 4
pop eax
mov dword [esi + 0x64], eax
and dword [esi + 0x68], 0
and dword [esi + 0x6c], 0
mov dword [esi + 0x70], eax
and dword [esi + 0x74], 0
and dword [esi + 0x78], 0
mov dword [esi + 0x7c], eax
and dword [esi + 0x80], 0
mov dword [esi + 0x368], 0x19
push 0x14
pop ecx
call fcn.0041136b
mov dword [esi + 0x30], eax
mov dword [esi + 0xc], edx
mov dword [esi + 0x368], 0x1a
push 0x1e
pop ecx
call fcn.00411e9e
mov dword [esi + 0xc0], eax
mov dword [esi + 0xc4], edx
and dword [esi + 0xc8], 0
mov dword [esi + 0x368], 0x1b
push 0x1e
pop ecx
call fcn.00411e9e
mov dword [esi + 0x14], eax
lea edi, [esi + 0xf0]
mov ebx, edx
mov eax, dword [edi - 0x28]
movsd xmm0, qword [edi - 0x30]
mov dword [esi + 0x168], eax
mov eax, dword [esi + 0x2c]
movsd qword [esi + 0x160], xmm0
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x50], eax
and dword [edi + 0x54], 0
and dword [edi - 0x24], 0
mov dword [edi - 0x20], 4
and dword [edi - 0x1c], 0
mov word [edi + 0x5c], 0x202
and dword [edi - 0x18], 0
xor eax, eax
inc eax
mov dword [edi - 0x14], eax
and dword [edi - 0x10], 0
and dword [edi - 0xc], 0
mov dword [edi - 8], eax
and dword [edi - 4], 0
and dword [edi + 0x58], 0
lea eax, [esi + 0x60]
push 0x24
push eax
push edi
call fcn.0044ac50
add esp, 0xc
mov eax, dword [esi + 0x30]
and dword [edi - 0x30], 0
and dword [edi - 0x2c], 0
and dword [edi - 0x28], 0
movq xmm0, qword [esi + 0x160]
mov ecx, 0x90
mov dword [esi + 0x368], 0x18
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x28], eax
mov eax, dword [esi + 0x168]
and dword [edi + 0x2c], 0
movq qword [edi + 0x30], xmm0
mov dword [edi + 0x38], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], ebx
and dword [edi + 0x44], 0
and dword [edi + 0x48], 0
call fcn.00411dd5
mov edi, eax
push 0x90
lea eax, [esi + 0xc0]
push eax
push edi
call fcn.0044ac50
add esp, 0xc
mov ecx, edi
call fcn.00412874
mov edi, edx
test eax, eax
jne 0x43c0ab
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x14]
mov dword [esi + 0xc8], eax
movq xmm0, qword [edi + 0x7c]
movq qword [esi + 0xc0], xmm0
cmp dword [edi + 0x84], 0
jne 0x43c08a
mov dword [esi + 0xc], ecx
mov ecx, edi
mov dword [esi + 0x368], 2
call fcn.00412896
mov edi, edx
test eax, eax
jne 0x43c087
mov ecx, edi
call fcn.00412981
mov edi, edx
test eax, eax
jne 0x43c087
mov ecx, edi
call fcn.00412896
mov edi, edx
test eax, eax
jne 0x43c087
mov ecx, edi
call fcn.00412404
test eax, eax
mov dword [esi + 0x20], edx
je 0x43d2cd
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0xc8]
mov dword [edi + 0x84], eax
movq xmm0, qword [esi + 0xc0]
movq qword [edi + 0x7c], xmm0
cmp dword [edi + 0x14], ecx
jb 0x43c0ab
mov dword [edi + 0x14], ecx
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
cmp dword [edi], 0
mov dword [esi + 0x368], 9
mov dword [esi + 0x20], edi
je 0x43c884
cmp eax, ecx
jb 0x43c884
push 0x12
pop ecx
call fcn.00417472
mov dword [esi + 0x30], eax
mov ebx, edx
push 0x12
push str.call_limit_reached
push edx
call fcn.0044ac50
add esp, 0xc
mov eax, 0x80000000
push 0x12
pop edi
mov ecx, dword [esi + 0x30]
jmp 0x43c8fd
mov ecx, dword [esi + 0x18]
movzx ecx, cx
shl ecx, 8
or ecx, eax
mov eax, ecx
mov ecx, dword [esi + 0x20]
mov byte [esi + 0x64], bl
mov word [esi + 0x65], ax
shr eax, 0x10
cmp dword [esi + 0x288], 0
mov ebx, dword [esi + 0x30]
mov byte [esi + 0x67], al
mov dword [esi + 0x68], ecx
mov dword [esi + 0x60], 0x80000000
je 0x43c13d
mov ecx, dword [esi + 0x10]
xor edx, edx
inc edx
call fcn.004070e0
mov edx, dword [esi + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x368], 1
mov eax, dword [esi + 0x90]
lea ecx, [esi + 0x60]
mov dword [esi + 0x58], ebx
mov dword [esi + 0x368], 1
mov dword [esi + 0x5c], eax
call fcn.0043b353
mov ecx, dword [esi + 0x240]
mov edx, dword [esi + 0x244]
call fcn.00417311
mov ecx, dword [esi + 0x264]
mov edx, dword [esi + 0x268]
call fcn.00417311
mov edi, dword [esi + 0x44]
mov ecx, dword [edi + 0x18]
mov ebx, dword [edi + 0x14]
lea eax, [esi + 0x320]
mov dword [eax], 0x45c2e4
shl ecx, 4
add ecx, ebx
mov dword [esi + 0x30], ecx
cmp ebx, dword [esi + 0x30]
je 0x43c81d
mov eax, dword [ebx + 4]
mov dword [esi + 0xc], ebx
mov ebx, dword [ebx + 8]
mov dword [esi + 0xc0], 0x4711a0
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
or dword [esi + 0x368], 0xffffffff
lea edx, [esi + 0x320]
lea ecx, [esi + 0x1b8]
mov dword [esi + 0x1b8], edx
mov dword [esi + 0xc8], ecx
lea ecx, [esi + 0x2f0]
lea edx, [esi + 0xc0]
mov dword [esi + 0x1bc], 0x4177a2
mov dword [esi + 0xcc], 1
mov dword [esi + 0x10], eax
call fcn.00407750
mov edi, dword [esi + 0x2f8]
mov eax, dword [esi + 0x2f4]
mov edx, dword [esi + 0x10]
mov dword [esi + 0x368], 0x29
lea ecx, [esi + 0x178]
push edi
mov dword [esi + 0x10], eax
push eax
push ebx
call fcn.0042b100
add esp, 0xc
mov ecx, dword [esi + 0x2f0]
mov edx, dword [esi + 0x10]
call fcn.00417311
mov ecx, dword [esi + 0x17c]
mov edx, dword [esi + 0x180]
mov dword [esi + 0x368], 0x21
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
call fcn.0042b1e0
test al, al
jne 0x43c298
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi + 0x178]
mov edx, dword [esi + 0x10]
add ebx, 0x10
call fcn.00417311
jmp 0x43c1ab
lea edx, [esi + 0x288]
lea ecx, [esi + 0x160]
and dword [edx], 0
and dword [edx + 8], 0
and dword [edx + 0xc], 0
mov dword [edx + 0x10], 7
and dword [edx + 0x1a], 0
and dword [edx + 0x18], 0
and dword [edx + 0x14], 0
and dword [edx + 0x1e], 0
mov byte [edx + 0x1c], 1
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.00416d7e
pop eax
pop ecx
cmp byte [esi + 0x160], 4
jne 0x43c4ce
mov eax, dword [esi + 0x164]
mov dword [esi + 0x368], 0x23
mov dword [esi + 0xc], eax
call fcn.0043a430
mov ecx, dword [esi + 0xc]
lea edx, [esi + 0xc0]
mov dword [esi + 0x368], 0x22
and dword [edx], 0
and dword [edx + 8], 0
mov dword [edx + 4], 1
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], 0x2000
and dword [edx + 0x14], 0
and dword [edx + 0x18], 0
and dword [edx + 0x1c], 0
mov dword [edx + 0x20], ecx
and dword [edx + 0x24], 0
lea ecx, [esi + 0xa0]
call fcn.00439210
cmp dword [esi + 0xa0], 0
je 0x43c4f2
movsd xmm1, qword [esi + 0xb0]
lea eax, [esi + 0x60]
movq xmm0, qword [esi + 0xb8]
movsd xmm2, qword [esi + 0xa0]
lea ecx, [esi + 0x1bc]
and dword [ecx - 4], 0
movsd qword [eax + 0x14], xmm1
movq xmm1, qword [esi + 0xa8]
movq qword [eax + 0x1c], xmm0
movsd qword [eax + 4], xmm2
movq qword [eax + 0xc], xmm1
push 0x24
push eax
push ecx
call fcn.0044ac50
add esp, 0xc
lea ecx, [esi + 0xc0]
mov dword [esi + 0x368], 0x21
call fcn.0043972c
lea edi, [esi + 0x64]
push 0x24
pop ebx
push ebx
lea eax, [esi + 0x1bc]
push eax
push edi
call fcn.0044ac50
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
and dword [edi - 4], 0
mov dword [esi + 0x368], ebx
call fcn.00427f90
test eax, eax
je 0x43c3ef
cmp dword [esi + 0x14], edx
jb 0x43c3ef
mov dword [esi + 0x180], edx
lea ecx, [esi + 0x178]
mov edx, 0x471187
push 6
call fcn.00426f80
pop eax
mov eax, dword [esi + 0x320]
mov edi, dword [esi + 0x17c]
mov ebx, dword [esi + 0x180]
lea ecx, [esi + 0x68]
mov edx, 0x47117f
mov eax, dword [eax]
mov dword [esi + 0x10], eax
push 8
call fcn.0043a43d
pop ecx
test eax, eax
je 0x43c7f4
cmp dword [eax], 0
jne 0x43c7f4
add eax, 8
mov edx, str.installdirappidnameLastOwnersteamappslibraryfolders.vdfpathAppStatecommonappmanifest_.acf
mov dword [esi + 0xc], eax
mov ecx, eax
push 0xa
call fcn.0043a43d
pop ecx
test eax, eax
je 0x43c53f
mov ecx, eax
call fcn.0043e76d
test eax, eax
je 0x43c53f
mov dword [esi + 0x30], edx
lea ecx, [esi + 0xa0]
mov edx, edi
push dword [esi + 0x30]
push eax
push ebx
call fcn.0042b100
add esp, 0xc
mov edx, dword [esi + 0xa4]
mov eax, dword [esi + 0xa8]
mov byte [esi + 0x26], 1
mov dword [esi + 0x368], 0x26
lea ecx, [esi + 0xc0]
mov dword [esi + 0x30], edx
push eax
call fcn.004280c0
pop eax
mov eax, dword [esi + 0xc0]
xor eax, 2
or eax, dword [esi + 0xc4]
jne 0x43c555
mov edx, dword [esi + 0xc8]
mov edi, dword [esi + 0xcc]
jmp 0x43c584
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x164]
mov dword [esi + 0x1c0], ecx
mov dword [esi + 0x1bc], eax
mov dword [esi + 0x1b8], 4
jmp 0x43c529
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x368], 0x21
mov dword [esi + 0x1c0], ecx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x1bc], eax
mov dword [esi + 0x1b8], 4
call fcn.0043972c
mov ecx, dword [esi + 0x1bc]
mov edx, dword [esi + 0x1c0]
call fcn.00439de5
jmp 0x43c80f
and dword [esi + 0x1bc], 0
mov dword [esi + 0x1b8], 2
jmp 0x43c683
mov ecx, dword [esi + 0x100]
mov edi, dword [esi + 0xcc]
mov eax, ecx
and eax, 0x10
shl eax, 4
or eax, 4
test dword [esi + 0x104], 0x20000000
push 4
pop edx
cmove edx, eax
test cx, 0x400
cmove edx, eax
cmp dl, 4
jne 0x43c622
test dx, 0xff00
je 0x43c664
mov edx, dword [esi + 0xc]
lea ecx, [esi + 0xc0]
mov byte [esi + 0x26], 1
call fcn.0043abe0
movq xmm0, qword [esi + 0xa8]
mov ebx, dword [esi + 0xa0]
mov ecx, dword [esi + 0xc]
mov edx, 0x47114e
movq qword [esi + 0x274], xmm0
push 5
call fcn.0043a43d
pop ecx
test eax, eax
je 0x43c5f6
cmp dword [eax], 3
jne 0x43c5f6
mov edx, dword [eax + 8]
lea edi, [esi + 0x160]
mov ecx, edi
push dword [eax + 0xc]
call fcn.0040bf90
pop eax
cmp byte [edi], 0
je 0x43d0e8
mov edx, dword [esi + 0x30]
and dword [esi + 0x1bc], 0
mov ecx, ebx
mov dword [esi + 0x1b8], 2
call fcn.00417311
lea ecx, [esi + 0xc0]
mov byte [esi + 0x26], 0
call fcn.0043e25d
jmp 0x43c683
cmp dl, 3
jne 0x43c664
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi + 0x14], edi
mov dword [esi + 0x368], 0x28
mov dword [esi + 0x18], eax
push eax
mov dword [esi + 0xc], ecx
call dword [ecx]
add esp, 4
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x43c659
mov edx, dword [eax + 8]
mov ecx, dword [esi + 0x18]
call fcn.004070e0
push 4
pop edx
mov ecx, dword [esi + 0x14]
call fcn.004070e0
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0x30]
and dword [esi + 0x1bc], 0
mov dword [esi + 0x1b8], 2
call fcn.00417311
mov edi, dword [esi + 0x44]
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
push dword [esi + 0x10]
push dword [edi + 0x3c]
push dword [edi + 0x38]
call fcn.00416dbb
add esp, 0xc
cmp dword [edi + 0x28], 0
jne 0x43c6c4
mov ecx, dword [esi + 0x1a4]
lea edx, [edi + 0x30]
mov dword [esi + 0x368], 0x25
mov dword [esi + 0x20], eax
call fcn.0045987f
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x20]
mov ecx, dword [edi + 0x20]
mov edi, dword [edi + 0x24]
mov dword [esi + 0x28], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0xc], edi
and edi, eax
shr eax, 0x19
lea ebx, [ecx - 0x58]
mov dword [esi + 0x14], ecx
movd xmm0, eax
mov dword [esi + 0x20], eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esi + 0x90], xmm0
movdqu xmm1, xmmword [ecx + edi]
pcmpeqb xmm0, xmm1
movdqa xmmword [esi + 0x30], xmm1
pmovmskb eax, xmm0
mov word [esi + 0xc0], ax
lea ecx, [esi + 0xc0]
call fcn.0043a74f
test eax, eax
je 0x43c73f
add edx, edi
mov ecx, dword [esi + 0x10]
and edx, dword [esi + 0xc]
neg edx
imul eax, edx, 0x58
cmp ecx, dword [ebx + eax]
jne 0x43c71c
jmp 0x43c798
cmp dword [esi + 0x18], 1
mov eax, 1
je 0x43c75c
mov ecx, dword [esi + 0xc]
movdqa xmm0, xmmword [esi + 0x30]
mov edx, edi
call fcn.0043ab75
mov dword [esi + 0x2c], edx
movdqa xmm1, xmmword [esi + 0x30]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x43caf3
mov ecx, dword [esi + 0x28]
movdqa xmm0, xmmword [esi + 0x90]
mov dword [esi + 0x18], eax
lea edi, [ecx + edi + 0x10]
add ecx, 0x10
mov dword [esi + 0x28], ecx
and edi, dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
jmp 0x43c703
mov ecx, dword [esi + 0x14]
lea edi, [ecx + eax - 0x50]
push 0x50
pop ebx
push ebx
push edi
lea eax, [esi + 0x288]
push eax
call fcn.0044ac50
add esp, 0xc
push ebx
lea eax, [esi + 0x1b8]
push eax
push edi
call fcn.0044ac50
add esp, 0xc
mov eax, dword [esi + 0x288]
xor eax, 3
or eax, dword [esi + 0x28c]
je 0x43c7ea
lea ecx, [esi + 0x288]
mov dword [esi + 0x368], 0x24
call fcn.0043b375
mov dword [esi + 0x368], 0x21
lea ecx, [esi + 0x60]
mov dword [esi + 0x368], 0x21
call fcn.0043e231
mov eax, dword [esi + 0x17c]
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x178]
mov edx, dword [esi + 0x10]
call fcn.00417311
mov edi, dword [esi + 0x44]
mov ebx, dword [esi + 0x1a4]
cmp dword [edi + 0x2c], 0
je 0x43c86d
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
push 0xa000
push dword [edi + 0x3c]
push dword [edi + 0x38]
call fcn.00416dbb
add esp, 0xc
mov edi, edx
mov ecx, ebx
mov edx, eax
push edi
call fcn.0043b576
pop ecx
test eax, eax
je 0x43c86d
mov edi, dword [eax + 8]
mov edx, eax
mov ecx, eax
xor eax, eax
add edx, 8
xor edi, 2
or edi, dword [ecx + 0xc]
cmovne eax, edx
jmp 0x43c86f
xor eax, eax
mov ecx, dword [esi + 0x360]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
call fcn.00414681
mov edi, dword [esi + 0x20]
lea ecx, [edi + 0x18]
call fcn.00414c3f
mov ecx, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
call fcn.00414681
mov edi, dword [esi + 0x20]
lea ecx, [edi + 0x24]
call fcn.00414c3f
mov edx, dword [edi + 0x1c]
lea ecx, [esi + 0x60]
push dword [edi + 0x20]
call fcn.00414c86
pop eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0xc0]
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [esi + 0x368], 0x14
push eax
call fcn.00414c86
pop eax
mov edx, dword [esi + 0xc4]
mov ecx, dword [esi + 0x60]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x68]
mov eax, dword [esi + 0xc0]
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0xc8]
mov dword [esi + 0x160], ecx
mov dword [esi + 0x164], ebx
mov dword [esi + 0x168], edi
mov dword [esi + 0x16c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x174], edx
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x170], eax
mov eax, dword [edx + 0x88]
mov dword [esi + 0x198], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x19c], ecx
mov dword [esi + 0x1a0], eax
mov ecx, dword [edx + 0x5c]
mov eax, dword [edx + 0x58]
mov byte [esi + 0x27], 1
mov dword [esi + 0x368], 0xa
mov dword [esi + 0x10], eax
mov dword [esi + 0x30], ecx
call fcn.0041136b
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x30]
xor ecx, ecx
add eax, eax
cmp dword [esi + 0xc], ecx
je 0x43c98d
test eax, eax
je 0x43c98d
mov edi, dword [esi + 0x10]
add eax, 0xfffffffe
movzx ebx, word [edi]
add edi, 2
mov dword [esi + 0x10], edi
mov word [edx + ecx*2], bx
inc ecx
jmp 0x43c96e
mov eax, dword [esi + 0x20]
mov dword [esi + 0x10], edx
lea ecx, [esi + 0x154]
mov edx, dword [eax + 0x64]
mov eax, dword [eax + 0x68]
mov dword [esi + 0x368], 0x12
push eax
call fcn.00414cd4
pop eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0xc0]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x74]
mov dword [esi + 0x368], 0x13
push eax
call fcn.00414cd4
pop eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0xc]
movsd xmm0, qword [esi + 0x154]
mov eax, dword [eax + 0x78]
mov dword [esi + 0x60], ecx
mov ecx, dword [esi + 0x10]
mov byte [esi + 0x1f], 1
mov dword [esi + 0x368], 0xd
mov dword [esi + 0x64], ecx
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x68], ecx
mov ecx, dword [esi + 0x15c]
movsd qword [esi + 0x6c], xmm0
movq xmm0, qword [esi + 0xc0]
mov dword [esi + 0x74], ecx
mov ecx, dword [esi + 0xc8]
movq qword [esi + 0x78], xmm0
mov dword [esi + 0x80], ecx
mov dword [esi + 0x84], eax
lea ecx, [esi + 0x198]
push 0xa
pop edx
call fcn.00414e8e
mov cl, 1
test al, al
jne 0x43ca53
mov byte [esi + 0x1f], 1
lea ecx, [esi + 0x198]
push 0xd
pop edx
call fcn.00414e8e
mov ecx, eax
mov edx, dword [esi + 0x19c]
mov eax, dword [esi + 0x1a0]
cmp eax, edx
ja 0x43d758
mov byte [esi + 0x10], cl
mov ecx, dword [esi + 0x198]
mov dword [esi + 0x18], eax
xor eax, eax
test edx, edx
mov dword [esi + 0x48], edx
mov dword [esi + 0x54], ecx
je 0x43caec
lea eax, [ecx + edx]
lea edi, [esi + 0xc0]
mov dword [edi], ecx
mov dword [edi + 4], eax
and dword [edi + 8], 0
mov dword [esi + 0xc], eax
lea eax, [esi + 0x198]
mov byte [edi + 0x10], 0
mov dword [edi + 0xc], eax
mov ecx, edi
call fcn.00417558
cmp edx, 0x110000
je 0x43cae5
cmp dword [esi + 0x18], eax
mov ebx, eax
jbe 0x43caa1
cmp edx, 0xa
mov byte [esi + 0xd0], 1
je 0x43cb72
lea edi, [esi + 0xc0]
mov ecx, edi
call fcn.00417558
cmp edx, 0xa
je 0x43cb70
cmp edx, 0x110000
jne 0x43cacd
xor ebx, ebx
jmp 0x43cb73
xor ebx, ebx
jmp 0x43cc0c
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x2c]
mov bl, byte [ecx + edi]
test bl, bl
js 0x43cb0e
movdqa xmm0, xmmword [ecx]
pmovmskb eax, xmm0
bsf edi, eax
mov bl, byte [ecx + edi]
lea eax, [esi + 0xc4]
push 0x50
lea ecx, [esi + 0x1b8]
push ecx
push eax
call fcn.0044ac50
add esp, 0xc
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0xc]
and bl, 1
movzx eax, bl
mov ebx, dword [esi + 0x14]
sub dword [ecx + 0x28], eax
lea eax, [edi - 0x10]
and edx, eax
mov eax, dword [esi + 0x20]
mov byte [ebx + edi], al
mov byte [edx + ebx + 0x10], al
inc dword [ecx + 0x2c]
mov ecx, dword [esi + 0x10]
neg edi
imul eax, edi, 0x58
lea eax, [ebx + eax - 0x54]
mov dword [eax - 4], ecx
push 0x54
lea ecx, [esi + 0xc0]
push ecx
push eax
call fcn.0044ac50
add esp, 0xc
jmp 0x43c7ea
mov ebx, eax
inc ebx
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x54]
mov eax, 0
test edx, edx
je 0x43cc0c
lea eax, [edx - 1]
cmp dword [esi + 0x18], eax
je 0x43cc0a
mov eax, dword [esi + 0xc]
lea edi, [esi + 0xc0]
mov dword [edi], ecx
mov dword [edi + 4], eax
and dword [edi + 8], 0
lea eax, [esi + 0x198]
mov byte [edi + 0x10], 0
mov dword [edi + 0xc], eax
mov ecx, edi
call fcn.00417769
cmp edx, 0x110000
je 0x43cbfa
cmp dword [esi + 0x18], eax
ja 0x43cbad
cmp edx, 0xa
mov byte [esi + 0xd0], 1
je 0x43cbe7
lea edi, [esi + 0xc0]
mov ecx, edi
call fcn.00417769
cmp edx, 0x110000
je 0x43cbfa
cmp edx, 0xa
jne 0x43cbd3
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x48]
inc eax
mov dword [esi + 0x368], 0xd
jmp 0x43cc0c
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x368], 0xd
mov eax, edx
mov byte [esi + 0x1f], 1
mov dword [esi + 0x368], 0xd
push 0x46d190
push eax
push ebx
call fcn.00414ecc
add esp, 0xc
mov dword [esi + 0x90], eax
mov al, byte [esi + 0x10]
test al, al
je 0x43ccd2
mov ecx, edx
mov byte [esi + 0x1f], 1
mov dword [esi + 0x10], edx
call fcn.00417472
mov ebx, dword [esi + 0x10]
mov dword [esi + 0xc], eax
mov edi, edx
push ebx
push dword [esi + 0x90]
push edx
call fcn.0044ac50
add esp, 0xc
mov dword [esi + 0x368], 0x10
lea ecx, [esi + 0xc0]
mov dword [esi + 0x30], edi
mov edx, edi
push 0x46d8a0
push 0xd
push ebx
call fcn.004175fa
add esp, 0xc
mov edx, dword [esi + 0xc4]
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x368], 0x11
lea ecx, [esi + 0x1a8]
mov dword [esi + 0x10], edx
push 0x46d8a3
push 0xa
push eax
call fcn.004175fa
add esp, 0xc
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0x10]
call fcn.00417311
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x30]
call fcn.00417311
jmp 0x43ce24
mov eax, dword [esi + 0x90]
lea ecx, [esi + 0x154]
lea edi, [esi + 0xd0]
mov dword [esi + 0x28], 0
and dword [ecx], 0
mov dword [ecx + 4], 1
and dword [ecx + 8], 0
mov ecx, edx
mov dword [edi - 0x10], 0x46d0e4
mov dword [edi - 0xc], 2
add ecx, eax
mov dword [edi - 8], eax
mov dword [edi - 4], edx
mov dword [edi], eax
mov dword [esi + 0xc], eax
mov dword [edi + 4], ecx
and dword [edi + 8], 0
mov dword [esi + 0x150], ecx
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
mov ebx, dword [esi + 0xc]
lea ecx, [esi + 0xd0]
mov dword [esi + 0x10], eax
call fcn.004421b2
test eax, eax
je 0x43cde3
cmp edx, 0x110000
je 0x43cde3
mov edi, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd4]
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xc], edi
mov edi, dword [esi + 0x10]
add ebx, ecx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x14], eax
add edi, eax
sub edi, ebx
add edi, dword [esi + 0xc]
mov dword [esi + 0xd8], edi
mov dword [esi + 0x10], edi
mov ecx, dword [esi + 0xc4]
mov ebx, dword [esi + 0xc0]
shl ecx, 2
test ecx, ecx
je 0x43cd26
add ecx, 0xfffffffc
cmp dword [ebx], edx
lea ebx, [ebx + 4]
jne 0x43cd8d
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x28]
mov dword [esi + 0x368], 0xf
add eax, ecx
add edx, ecx
lea ecx, [esi + 0x154]
push eax
call fcn.0044168a
pop eax
lea ecx, [esi + 0x154]
mov edx, 0x4945c8
push 0x4945c8
call fcn.0044168a
pop eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x28], eax
jmp 0x43cd26
mov edx, dword [esi + 0x90]
mov dword [esi + 0x368], 0xf
lea ecx, [esi + 0x154]
add edx, dword [esi + 0x28]
push dword [esi + 0x150]
call fcn.0044168a
pop eax
mov eax, dword [esi + 0x15c]
movq xmm0, qword [esi + 0x154]
mov dword [esi + 0x1b0], eax
movq qword [esi + 0x1a8], xmm0
mov ecx, dword [esi + 0x1ac]
mov ebx, dword [esi + 0x18]
mov eax, dword [esi + 0x1a8]
mov edx, dword [esi + 0x48]
xor edi, edi
inc edi
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x54]
test ebx, ebx
mov dword [esi + 0xc], eax
je 0x43ce54
cmp ebx, edx
jae 0x43ce54
cmp byte [ecx + ebx], 0xbf
jle 0x43d78a
lea eax, [esi + 0xc4]
mov dword [esi + 0x10], edi
mov dword [eax], ecx
add ecx, ebx
mov dword [eax + 4], ecx
mov dword [eax - 4], 0x110001
test ebx, ebx
je 0x43cf09
lea ecx, [esi + 0xc0]
call fcn.00414f12
cmp eax, 0xd
je 0x43cebb
cmp eax, 0xa
je 0x43cee2
cmp eax, 0x110000
je 0x43d718
cmp eax, 0x80
mov ecx, 0xffffffff
jb 0x43ceb6
cmp eax, 0x800
push 0xfffffffffffffffe
pop ecx
jb 0x43ceb6
xor ecx, ecx
cmp eax, 0x10000
setb cl
or ecx, 0xfffffffc
add ebx, ecx
inc edi
jmp 0x43ce6b
mov eax, dword [esi + 0xc0]
cmp eax, 0x110001
jne 0x43ced9
lea ecx, [esi + 0xc4]
call fcn.00442419
mov dword [esi + 0xc0], eax
cmp eax, 0xa
je 0x43cee5
dec ebx
inc edi
jmp 0x43ce6b
dec ebx
jmp 0x43cefe
lea ecx, [esi + 0xc0]
call fcn.00414f12
cmp ebx, 1
lea ebx, [ebx - 2]
mov eax, 0
cmove ebx, eax
inc dword [esi + 0x10]
xor edi, edi
inc edi
jmp 0x43ce6b
movsd xmm0, qword [esi + 0x160]
lea edx, [esi + 0x12c]
movq xmm1, qword [esi + 0x168]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x368], 0xc
movsd qword [edx], xmm0
movsd xmm0, qword [esi + 0x170]
movq qword [edx + 8], xmm1
movsd qword [edx + 0x10], xmm0
and dword [edx - 0x6c], 0
mov dword [edx - 0x68], eax
and dword [edx - 0x60], 0
mov dword [edx - 0x5c], ecx
mov ecx, dword [esi + 0x1b0]
movq xmm0, qword [esi + 0x1a8]
mov dword [edx - 0x58], edi
mov edi, 0x80000000
mov dword [edx - 0x40], edi
mov dword [edx - 0x44], ecx
lea ecx, [esi + 0x104]
movq qword [edx - 0x4c], xmm0
mov dword [edx - 0x34], edi
mov dword [ecx], edi
call fcn.00414e81
lea edi, [esi + 0xe0]
push 0x28
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0x104]
push eax
call fcn.0044ac50
add esp, 0xc
lea eax, [esi + 0xc4]
movsd xmm1, qword [eax + 8]
movq xmm0, qword [eax]
movsd qword [esi + 0xa8], xmm1
movq xmm1, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movq qword [esi + 0xa0], xmm0
mov dword [esi + 0xb8], eax
movq qword [esi + 0xb0], xmm1
lea eax, [esi + 0x288]
push 0x64
push edi
push eax
call fcn.0044ac50
add esp, 0xc
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x368], 2
call fcn.00414625
mov eax, dword [esi + 0xb8]
movsd xmm0, qword [esi + 0xb0]
movsd xmm2, qword [esi + 0xa0]
movsd xmm1, qword [esi + 0xa8]
lea ebx, [esi + 0x1d8]
mov dword [esi + 0x190], eax
movsd qword [esi + 0x188], xmm0
movsd qword [esi + 0x180], xmm1
movsd qword [esi + 0x178], xmm2
push 0x64
lea eax, [esi + 0x288]
push eax
push ebx
call fcn.0044ac50
add esp, 0xc
movsd xmm1, qword [esi + 0x180]
movq xmm0, qword [esi + 0x178]
mov eax, dword [esi + 0x190]
movsd qword [ebx - 0x14], xmm1
movq xmm1, qword [esi + 0x188]
movq qword [ebx - 0x1c], xmm0
mov dword [ebx - 4], eax
movq qword [ebx - 0xc], xmm1
and dword [ebx - 0x20], 0
mov edi, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x4c]
mov edx, dword [ebx + 0x50]
cmp edi, 0x80000000
jne 0x43d098
call fcn.00417311
jmp 0x43d0aa
call fcn.00411da6
mov edx, dword [esi + 0x234]
mov ecx, edi
call fcn.00411da6
lea edi, [esi + 0x1fc]
mov ecx, dword [edi - 0x18]
mov edx, dword [edi - 0x14]
call fcn.00439ec8
mov ecx, dword [edi - 0x24]
mov edx, dword [edi - 0x20]
call fcn.00417311
mov ecx, dword [edi - 0xc]
mov edx, dword [edi - 8]
call fcn.00439ec8
mov ecx, edi
call fcn.0043b686
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x2c]
call fcn.00417311
jmp 0x43c16c
mov edi, dword [esi + 0x164]
mov ecx, dword [esi + 0xc]
mov edx, 0x471153
push 4
call fcn.0043a43d
pop ecx
test eax, eax
mov dword [esi + 0x14], 0x80000000
mov dword [esi + 0x18], ebx
mov dword [esi + 0x28], edi
je 0x43d14e
mov ecx, eax
call fcn.0043e76d
test eax, eax
mov dword [esi + 0x20], eax
je 0x43d14e
mov ecx, edx
mov dword [esi + 0x368], 0x27
mov dword [esi + 0x90], edx
call fcn.00441780
mov dword [esi + 0x14], eax
push dword [esi + 0x90]
push dword [esi + 0x20]
mov dword [esi + 0x2c], edx
push edx
call fcn.0044ac50
add esp, 0xc
jmp 0x43d14e
mov ecx, dword [esi + 0xc]
mov edx, 0x471157
push 9
call fcn.0043a43d
pop ecx
test eax, eax
je 0x43d196
cmp dword [eax], 3
jne 0x43d196
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov dword [esi + 0xc], ecx
je 0x43d218
mov eax, dword [eax + 8]
mov dword [esi + 0x20], eax
movzx eax, byte [eax]
cmp eax, 0x2d
je 0x43d19d
cmp eax, 0x2b
jne 0x43d1a3
dec dword [esi + 0xc]
je 0x43d218
inc dword [esi + 0x20]
jmp 0x43d1a3
xor eax, eax
jmp 0x43d21d
cmp dword [esi + 0xc], 1
je 0x43d218
cmp dword [esi + 0xc], 0x11
jae 0x43d1d3
mov ecx, dword [esi + 0x20]
xor eax, eax
xor ebx, ebx
movzx edi, byte [ecx]
add edi, 0xffffffd0
cmp edi, 9
ja 0x43d218
push 0xa
pop edx
mul edx
imul ebx, ebx, 0xa
inc ecx
add eax, edi
adc ebx, edx
dec dword [esi + 0xc]
jne 0x43d1b0
mov ecx, eax
mov al, 1
jmp 0x43d21a
mov edi, dword [esi + 0xc]
xor eax, eax
xor ebx, ebx
mov ecx, eax
test edi, edi
je 0x43d1cf
mov eax, ebx
push 0xa
pop ebx
mul ebx
mov dword [esi + 0xc], eax
mov eax, ecx
mov ecx, dword [esi + 0x20]
seto byte [esi + 0x48]
mul ebx
mov ebx, edx
add ebx, dword [esi + 0xc]
movzx edx, byte [ecx]
setb cl
add edx, 0xffffffd0
cmp edx, 9
ja 0x43d218
or byte [esi + 0x48], cl
jne 0x43d218
inc dword [esi + 0x20]
dec edi
add eax, edx
adc ebx, 0
jae 0x43d1da
xor eax, eax
movzx eax, al
mov edx, dword [esi + 0x18]
movsd xmm1, qword [esi + 0xc8]
movq xmm0, qword [esi + 0xc0]
movsd xmm2, qword [esi + 0xd0]
xor edi, edi
mov dword [esi + 0x1c8], edx
mov edx, dword [esi + 0x30]
mov dword [esi + 0x1cc], edx
mov edx, dword [esi + 0x278]
mov dword [esi + 0x1d4], edx
mov edx, dword [esi + 0x274]
mov dword [esi + 0x1d0], edx
movsd qword [esi + 0x1e0], xmm1
movq xmm1, qword [esi + 0xd8]
mov edx, dword [esi + 0x14]
movq qword [esi + 0x1d8], xmm0
movsd qword [esi + 0x1e8], xmm2
movq qword [esi + 0x1f0], xmm1
mov dword [esi + 0x1f8], edx
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x1fc], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x200], edx
mov dword [esi + 0x1b8], eax
mov dword [esi + 0x1bc], edi
mov dword [esi + 0x1c0], ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x1c4], ebx
mov dword [esi + 0x204], ecx
jmp 0x43c683
mov eax, dword [esi + 0x20]
mov ecx, dword [eax + 0x14]
mov dword [esi + 0x18], ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x368], 0x16
mov dword [esi + 0x14], ecx
mov dword [esi + 0x30], eax
push 0x14
pop ecx
call fcn.00411dd5
xor ecx, ecx
mov edi, dword [esi + 0x18]
mov edx, eax
inc ecx
mov dword [eax], ecx
mov dword [esi + 0xc], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x30]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edi
mov dword [esi + 0x368], 0x15
lea ecx, [esi + 0xc0]
push edi
push 0
push 0
push dword [esi + 0x10]
push dword [esi + 0x2c]
call fcn.00414407
add esp, 0x14
mov eax, dword [esi + 0xd8]
movq xmm0, qword [esi + 0xd0]
movsd xmm2, qword [esi + 0xc0]
movq xmm1, qword [esi + 0xc8]
mov edi, dword [esi + 0x20]
mov dword [esi + 0xb8], eax
movq qword [esi + 0xb0], xmm0
movq qword [esi + 0xa8], xmm1
movsd qword [esi + 0xa0], xmm2
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
call fcn.00411da6
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x28]
call fcn.00411da6
lea ecx, [edi + 0x30]
call fcn.00411d75
mov ecx, edi
mov dword [esi + 0x368], 0x17
add ecx, 0x54
call fcn.00411e29
mov ecx, dword [esi + 0x20]
call fcn.0040f3d5
mov eax, dword [esi + 0xb8]
movq xmm0, qword [esi + 0xb0]
movq xmm1, qword [esi + 0xa0]
movsd xmm2, qword [esi + 0xa8]
lea edx, [esi + 0x2f0]
lea ecx, [esi + 0x274]
mov dword [esi + 0x368], 8
mov dword [esi + 0x190], eax
movq qword [esi + 0x188], xmm0
movsd qword [esi + 0x180], xmm2
movq qword [esi + 0x178], xmm1
movq qword [edx], xmm1
movsd qword [edx + 8], xmm2
movq qword [edx + 0x10], xmm0
mov dword [edx + 0x18], eax
call fcn.004158d6
cmp dword [esi + 0x274], 0
je 0x43d7a6
mov eax, dword [esi + 0x284]
movq xmm0, qword [esi + 0x274]
movq xmm1, qword [esi + 0x27c]
mov ecx, dword [esi + 0x2f0]
mov edx, dword [esi + 0x2fc]
lea edi, [esi + 0x320]
mov dword [edi + 0x10], eax
movq qword [edi + 8], xmm1
movq qword [edi], xmm0
call fcn.004159be
lea ecx, [esi + 0xc0]
mov edx, edi
mov dword [esi + 0x368], 2
call fcn.004159ce
movsd xmm2, qword [esi + 0xcc]
mov eax, dword [esi + 0xc8]
movsd xmm0, qword [esi + 0xc0]
movq xmm1, qword [esi + 0xd4]
movsd qword [esi + 0x1bc], xmm2
movq qword [esi + 0x1c4], xmm1
movsd qword [esi + 0x1cc], xmm0
mov dword [esi + 0x1d4], eax
mov edi, dword [esi + 0x1bc]
movq xmm0, qword [esi + 0x1c0]
mov eax, dword [esi + 0x1c8]
cmp edi, 2
movq qword [esi + 0x310], xmm0
mov dword [esi + 0x318], eax
je 0x43d0d8
mov eax, dword [esi + 0x318]
movq xmm0, qword [esi + 0x310]
mov ecx, dword [esi + 0x1cc]
mov edx, dword [esi + 0x1d0]
mov dword [esi + 0x25c], eax
movq qword [esi + 0x254], xmm0
mov dword [esi + 0x250], edi
call fcn.00439ec8
test edi, edi
je 0x43d58f
mov eax, dword [esi + 0x254]
mov ecx, dword [esi + 0x258]
xor ebx, ebx
test eax, eax
mov edi, eax
setne bl
je 0x43d52f
mov edi, dword [esi + 0x25c]
lea edx, [esi + 0x1b8]
mov dword [esi + 0x368], 3
mov dword [edx], ebx
and dword [edx + 4], 0
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ebx
and dword [edx + 0x14], 0
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
lea ecx, [esi + 0xc0]
mov dword [edx + 0x20], edi
call fcn.0043a76a
mov eax, dword [esi + 0xc0]
cmp eax, 0x80000000
mov dword [esi + 0x10], eax
jne 0x43d59f
mov dword [esi + 0xc], 0
push 4
pop eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x30], 0
jmp 0x43d6b7
lea ecx, [esi + 0x250]
call fcn.0043b66b
jmp 0x43d0d8
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x30], eax
push 4
pop ecx
push 0x40
pop edx
call fcn.0043e756
test eax, eax
mov dword [esi + 0x14], eax
je 0x43d7b2
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov dword [ecx + 4], eax
lea eax, [esi + 0x60]
movq xmm0, qword [esi + 0xc8]
movq qword [ecx + 8], xmm0
mov dword [eax], 4
mov dword [eax + 4], ecx
mov dword [eax + 8], 1
push 0x24
lea eax, [esi + 0x1b8]
push eax
lea eax, [esi + 0xc0]
push eax
call fcn.0044ac50
add esp, 0xc
lea ecx, [esi + 0x288]
lea edx, [esi + 0xc0]
mov dword [esi + 0x368], 5
call fcn.0043a76a
mov eax, dword [esi + 0x288]
cmp eax, 0x80000000
mov dword [esi + 0x10], eax
je 0x43d6ab
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x28c]
movq xmm0, qword [esi + 0x290]
cmp edx, dword [esi + 0x60]
mov dword [esi + 0x30], eax
movq qword [esi + 0xa0], xmm0
jne 0x43d672
lea ecx, [esi + 0x60]
call fcn.0043aa44
mov ecx, eax
mov dword [esi + 0x368], 6
call fcn.004493bf
mov eax, dword [esi + 0x64]
mov edx, dword [esi + 0xc]
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x30]
mov eax, edx
inc edx
shl eax, 4
mov dword [esi + 0xc], edx
mov dword [ecx + eax], edi
mov dword [ecx + eax + 4], ebx
movq xmm0, qword [esi + 0xa0]
movq qword [ecx + eax + 8], xmm0
mov dword [esi + 0x68], edx
mov dword [esi + 0x368], 5
jmp 0x43d604
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
mov dword [esi + 0x30], eax
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x368], 4
call fcn.00401481
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x368], 2
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0x18], ecx
lea ecx, [esi + 0x250]
call fcn.0043b66b
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x2c]
call fcn.00417311
mov eax, dword [esi + 0x244]
mov edi, dword [esi + 0x268]
mov dword [esi + 0x90], eax
jmp 0x43b930
mov dword [esi + 0x368], 0xe
push 0x28
pop edx
mov ecx, str.internal_error:_entered_unreachable_codeC:Users_runneradmin.cargo_registry_srcindex.crates.io_1cd66030c949c28d_sysreq_0.1.6_srcclients_resolve.rs
push 0x46d1e0
call fcn.004587c0
pop eax
jmp 0x43d7c7
mov ecx, edx
mov edx, eax
push 0x470f44
call fcn.00458760
pop eax
jmp 0x43d7c7
push 0x470f44
call fcn.00458980
pop eax
jmp 0x43d7c7
lea ecx, [esi + 0xc0]
mov edx, 0x46d1c0
mov byte [esi + 0x1f], 1
mov dword [ecx], str.position_out_of_bounds
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], 0x4945c8
and dword [ecx + 0xc], 0
call fcn.00458670
jmp 0x43d7c7
mov dword [esi + 0x368], 0xe
push 0x46d1d0
push ebx
push 0
call fcn.00458c10
add esp, 0xc
jmp 0x43d7c7
mov ecx, 0x46d478
call fcn.00458ab0
jmp 0x43d7c7
mov dword [esi + 0x368], 7
push 4
pop ecx
push 0x40
pop edx
call fcn.00458570
ud2