Function at 0x443750
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4fb128
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1284
call fcn.00476ea0
mov eax, dword [0x548280]
xor eax, esp
mov dword [esp + 0x1280], eax
push ebx
push esi
push edi
mov eax, dword [0x548280]
xor eax, esp
push eax
lea eax, [esp + 0x1298]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x24], ebx
mov ecx, dword [0x559084]
call fcn.00446c70
mov esi, eax
test esi, esi
je 0x4447e3
mov eax, dword [0x55f7f8]
mov dword [esp + 0x28], eax
test eax, eax
je 0x4447e3
mov eax, dword [esi]
mov ecx, esi
push 0x537a00
call dword [eax + 0x120]
lea eax, [esp + 0x70]
mov dword [esp + 0x274], 0
mov dword [esp + 0x6c], eax
xor eax, eax
mov word [esp + 0x70], ax
call fcn.00484e50
mov edi, eax
mov eax, dword [esp + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x160]
push eax
lea ecx, [edi*8 + 0x56289c]
call fcn.0047ce70
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00446130
mov eax, dword [esi]
lea ecx, [esp + 0x7c]
add esp, 0xc
push ecx
mov ecx, esi
call dword [eax + 0x120]
mov ecx, ebx
call fcn.004432a0
mov byte [ebx + 0x64], al
test al, al
jne 0x443888
cmp byte [0x55d3e2], al
jne 0x44387c
call fcn.00484e50
lea ecx, [eax*8 + 0x56271c]
call fcn.0047ce70
mov edx, 0x14
mov ecx, eax
call fcn.00448320
cmp eax, 6
jne 0x44387c
mov ecx, dword [esp + 0x28]
push 0
push 1
push 0
mov eax, dword [ecx]
call dword [eax + 0x180]
push eax
call fcn.00480610
add esp, 0x10
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
jmp 0x4447e3
mov edi, dword [esp + 0x28]
mov ecx, edi
mov byte [ebx + 0x65], 0
mov eax, dword [edi]
call dword [eax + 0x1d8]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4438a0
sub eax, edx
sar eax, 1
je 0x4438da
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1d8]
push eax
lea ecx, [ebx + 0x4c]
call fcn.0047d3b0
cmp eax, 0xffffffff
je 0x4438da
mov byte [ebx + 0x65], 1
lea eax, [ebx + 0xc0]
push 0
push eax
mov dword [esp + 0x24], eax
call fcn.0047fac0
add esp, 8
lea edx, [ebx + 0xc0]
test al, al
je 0x443923
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x18], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x443902
sub ecx, dword [esp + 0x18]
sar ecx, 1
xor eax, eax
mov dword [ebx + 0x8c4], ecx
mov word [ebx + ecx*2 + 0xc0], ax
mov ecx, edx
lea edx, [ecx + 2]
jmp 0x443930
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x443930
sub ecx, edx
sar ecx, 1
jne 0x4439e1
xor eax, eax
push 0x800
push eax
mov word [esp + 0x284], ax
lea eax, [esp + 0x286]
push eax
call fcn.0046f380
add esp, 0xc
xor ecx, ecx
jmp 0x443970
movzx eax, word [ecx + str.C:Program_Files]
lea ecx, [ecx + 2]
mov word [esp + ecx + 0x27a], ax
test ax, ax
jne 0x443970
xor eax, eax
push 0x800
push eax
mov word [esp + 0xa8c], ax
lea eax, [esp + 0xa8e]
push eax
call fcn.0046f380
add esp, 0xc
lea eax, [esp + 0xa84]
push 0x400
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x44387c
mov ax, word [esp + 0xa84]
mov ecx, ebx
mov word [esp + 0x27c], ax
lea eax, [esp + 0x27c]
push eax
call fcn.004435c0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x14], 0x258
call fcn.0047d9c0
lea eax, [esp + 0x2c]
mov dword [esp + 0x12a0], 0
push eax
mov ecx, 0x562268
call fcn.0047ce70
push eax
lea ecx, [ebx + 0x4c]
call fcn.0047d6b0
test al, al
je 0x443a57
mov ecx, dword [ebx + 0x68]
push dword [esp + 0x34]
push dword [esp + 0x3c]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [ebx + 0x68]
mov eax, dword [ecx]
call dword [eax + 0x60]
test eax, eax
je 0x443a41
mov ecx, dword [ebx + 0x68]
mov eax, dword [ecx]
call dword [eax + 0x60]
mov dword [esp + 0x14], eax
mov ecx, dword [ebx + 0x68]
mov edx, dword [ecx]
call dword [edx + 0x68]
test eax, eax
je 0x443a57
mov ecx, dword [ebx + 0x68]
mov eax, dword [ecx]
call dword [eax + 0x68]
jmp 0x443a5c
mov eax, 0x190
mov edx, dword [esi]
mov ecx, esi
push 0
push eax
push dword [esp + 0x1c]
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [edx + 0x10]
mov eax, dword [edi]
mov ecx, edi
push 0x1000
mov eax, dword [eax + 0x10]
call eax
test al, al
je 0x443aea
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1c0]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x443a90
sub eax, edx
sar eax, 1
je 0x443aea
cmp dword [ebx + 0x7c], 0
jne 0x443ae2
push 0x1c
call fcn.00464009
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov byte [esp + 0x12a0], 1
test edi, edi
je 0x443ad5
mov ecx, edi
call fcn.00480c40
mov dword [edi], vtable.swC80003.0
mov dword [edi + 0x18], ebx
jmp 0x443ad7
xor edi, edi
mov byte [esp + 0x12a0], 0
mov dword [ebx + 0x7c], edi
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0x4c]
mov dword [esp + 0x18], 0
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xdc]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esi]
mov ecx, esi
push 3
call dword [eax + 0x1c0]
mov dword [esp + 0x10], eax
test eax, eax
je 0x443b74
mov edx, dword [esi]
mov ecx, esi
push eax
call dword [edx + 0x1c4]
mov edi, eax
mov eax, dword [esp + 0x10]
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xb8]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x3c]
xorps xmm0, xmm0
push ecx
mov ecx, eax
mov edx, dword [eax]
movdqu xmmword [esp + 0x40], xmm0
call dword [edx + 0x3c]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x4c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x174]
mov ecx, dword [esp + 0x10]
push 0
mov eax, dword [ecx]
call dword [eax + 0x14]
mov dword [ebx + 0x2918], edi
mov eax, dword [esi]
mov ecx, esi
push 3
call dword [eax + 0x1c0]
mov dword [esp + 0x10], eax
test eax, eax
je 0x443bee
mov edx, dword [esi]
mov ecx, esi
push eax
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x562260
mov edi, eax
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov ecx, dword [esp + 0x10]
push eax
mov edx, dword [ecx]
call dword [edx + 0x120]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x3c]
xorps xmm0, xmm0
push edx
movdqu xmmword [esp + 0x40], xmm0
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x4c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x174]
mov ecx, dword [esp + 0x10]
push 0
mov eax, dword [ecx]
call dword [eax + 0x14]
mov dword [ebx + 0x2910], edi
mov eax, dword [esi]
mov ecx, esi
push 3
call dword [eax + 0x1c0]
mov edi, eax
test edi, edi
je 0x443c86
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x562270
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov dword [esp + 0x14], eax
test eax, eax
je 0x443c86
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx + 0x120]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], 0x14
mov dword [esp + 0x40], 0xa
mov eax, dword [ecx]
call dword [eax + 0x54]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [ecx]
call dword [eax + 0x58]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x3c]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x108]
mov eax, dword [esi]
mov ecx, esi
push 3
call dword [eax + 0x1c0]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x443d61
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x5622e0
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov dword [esp + 0x14], eax
test eax, eax
je 0x443d61
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx + 0x120]
mov edx, dword [edi]
mov ecx, edi
push 0x12c
call dword [edx + 0xc0]
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], 0xffff
mov dword [esp + 0x40], 0xa
mov eax, dword [ecx]
call dword [eax + 0x54]
or eax, 0xa0000
mov ecx, edi
mov dword [esp + 0x44], eax
mov eax, dword [edi]
call dword [eax + 0x28]
mov edi, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x58]
cdq
lea ecx, [esp + 0x3c]
idiv edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x48], eax
push ecx
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x108]
mov eax, dword [edi]
mov ecx, edi
push 0x1001
call dword [eax + 0x14]
cmp byte [0x55d3e3], 0
mov dword [esp + 0x14], 0x14
jne 0x4443c1
mov eax, dword [esi]
mov ecx, esi
push 3
call dword [eax + 0x1c0]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x443e5f
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x562238
mov dword [esp + 0x24], eax
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ebx, eax
push ebx
mov ecx, edi
call dword [edx + 0x120]
mov edx, dword [edi]
mov ecx, edi
push 0x12c
call dword [edx + 0xc0]
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 0x2c]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0xb0]
mov dword [esp + 0x3c], 0xffffffff
mov ecx, ebx
mov dword [esp + 0x40], 0xffff
mov eax, dword [ebx]
call dword [eax + 0x54]
mov dword [esp + 0x44], eax
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x28]
mov edx, dword [ebx]
mov ecx, ebx
mov edi, eax
call dword [edx + 0x58]
cdq
lea ecx, [esp + 0x3c]
idiv edi
mov edi, dword [esp + 0x10]
or eax, 0x5a0000
mov dword [esp + 0x48], eax
push ecx
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x108]
mov eax, dword [edi]
mov ecx, edi
push 0x1004
call dword [eax + 0x14]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x28e8], eax
mov eax, dword [esi]
mov ecx, esi
push 3
call dword [eax + 0x1c0]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x443f8c
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x5622d8
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ecx, edi
push eax
mov dword [esp + 0x1c], eax
call dword [edx + 0x120]
mov edx, dword [edi]
mov ecx, edi
push 0x12c
call dword [edx + 0xc0]
mov ecx, dword [ebx + 0x68]
mov edi, dword [edi]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov ecx, dword [esp + 0x10]
push eax
call dword [edi + 0xe8]
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x3c]
movdqa xmm0, xmmword [0x5414f0]
push ecx
mov ecx, edi
mov eax, dword [edi]
movdqu xmmword [esp + 0x40], xmm0
call dword [eax + 0x44]
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 0x2c]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
mov ecx, dword [esp + 0x18]
mov edi, eax
mov edx, dword [ecx]
call dword [edx + 0x58]
cdq
idiv edi
mov ecx, dword [0x5632ec]
mov edi, eax
test cl, 1
jne 0x443f4d
or ecx, 1
mov dword [0x5632ec], ecx
mov byte [esp + 0x12a0], 2
mov eax, dword [esp + 0x18]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x54]
or eax, 0x140000
mov byte [esp + 0x12a0], 0
or edi, 0x140000
mov dword [0x559060], eax
mov dword [0x559064], edi
mov edi, dword [esp + 0x10]
mov ecx, edi
push 0x559058
mov eax, dword [edi]
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x108]
mov eax, dword [edi]
mov ecx, edi
push 0x100b
call dword [eax + 0x14]
mov dword [esp + 0x18], 0x46
mov eax, dword [esi]
mov ecx, esi
push 2
call dword [eax + 0x1c0]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x4440b0
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x562280
mov dword [esp + 0x24], eax
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ebx, eax
push ebx
mov ecx, edi
call dword [edx + 0x120]
mov edx, dword [edi]
mov ecx, edi
push dword [esp + 0x1c]
call dword [edx + 0x5c]
mov eax, dword [esp + 0x24]
mov edi, dword [edi]
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov ecx, dword [esp + 0x10]
push eax
call dword [edi + 0xe8]
mov eax, dword [esp + 0x10]
push ecx
push 0
push ecx
mov edi, dword [eax]
call fcn.004433a0
mov ecx, dword [esp + 0x10]
push eax
call dword [edi + 0x110]
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x5c]
movdqa xmm0, xmmword [0x5414f0]
push ecx
mov ecx, edi
mov eax, dword [edi]
movdqu xmmword [esp + 0x60], xmm0
call dword [eax + 0x44]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
mov edx, dword [ebx]
mov ecx, ebx
mov edi, eax
call dword [edx + 0x58]
cdq
idiv edi
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
add ecx, 0x14
shl ecx, 0x10
mov edi, eax
mov dword [esp + 0x44], ecx
lea eax, [esp + 0x3c]
mov ecx, edi
mov dword [esp + 0x3c], 0x14
mov edx, dword [ebx]
or ecx, 0x140000
mov dword [esp + 0x48], ecx
mov ecx, ebx
push eax
mov dword [esp + 0x44], 0xffff
call dword [edx + 0x3c]
mov eax, dword [ebx]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, ebx
call dword [eax + 0x174]
mov eax, dword [ebx]
mov ecx, ebx
push 2
call dword [eax + 0x108]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov dword [ebx + 0x28e4], eax
lea eax, [edi + 0x1e]
mov dword [esp + 0x14], eax
mov eax, dword [esi]
mov ecx, esi
push 5
call dword [eax + 0x1c0]
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x4441b6
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x562300
mov dword [esp + 0x24], eax
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx + 0x128]
push ecx
mov ecx, 0x5622c0
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ebx, eax
push ebx
mov ecx, edi
call dword [edx + 0x120]
mov edx, dword [edi]
mov ecx, edi
push 3
call dword [edx + 0x2c]
mov eax, dword [edi]
mov ecx, edi
push 0x12c
call dword [eax + 0xc0]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0xc8]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
mov edx, dword [ebx]
mov ecx, ebx
mov edi, eax
call dword [edx + 0x58]
mov ecx, dword [0x5632ec]
cdq
idiv edi
test cl, 2
jne 0x444171
or ecx, 2
mov dword [0x5632ec], ecx
mov ecx, dword [esp + 0x14]
shl ecx, 0x10
or ecx, eax
mov dword [0x559074], ecx
mov edi, dword [esp + 0x1c]
mov ecx, edi
push 0x559068
mov eax, dword [edi]
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x108]
mov eax, dword [edi]
mov ecx, edi
push 0x100e
call dword [eax + 0x14]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x28ec], eax
mov eax, dword [esi]
mov ecx, esi
push 3
mov dword [esp + 0x1c], 0
call dword [eax + 0x1c0]
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x4442b5
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x562258
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ecx, edi
push eax
mov dword [esp + 0x14], eax
call dword [edx + 0x120]
mov edx, dword [edi]
mov ecx, edi
push 1
call dword [edx + 0x2c]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0xb0]
mov eax, dword [0x5632ec]
test al, 4
jne 0x444272
or eax, 4
mov dword [0x5632ec], eax
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x12a0], 3
mov eax, dword [ecx]
call dword [eax + 0x54]
mov dword [0x559050], eax
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x28]
mov edi, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x58]
cdq
idiv edi
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
shl ecx, 0x10
or eax, ecx
mov byte [esp + 0x12a0], 0
mov dword [0x559054], eax
mov eax, dword [edi]
mov ecx, edi
push 0x559048
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x108]
mov eax, dword [edi]
mov ecx, edi
push 0x100e
call dword [eax + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x54]
add eax, 0x24
mov dword [esp + 0x18], eax
mov edx, dword [esi]
mov ecx, esi
push 3
call dword [edx + 0x1c0]
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x4443c1
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x562250
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ecx, edi
push eax
mov dword [esp + 0x14], eax
call dword [edx + 0x120]
mov edx, dword [edi]
mov ecx, edi
push 0x12c
call dword [edx + 0xc0]
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 0x2c]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0xb0]
mov eax, dword [0x5632ec]
test al, 8
jne 0x44438e
or eax, 8
mov dword [0x5632ec], eax
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x12a0], 4
mov eax, dword [esp + 0x18]
add eax, 6
mov dword [0x563070], 0xffff
mov dword [0x56306c], eax
mov eax, dword [ecx]
call dword [eax + 0x54]
mov dword [0x563074], eax
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x28]
mov edi, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x58]
cdq
idiv edi
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
shl ecx, 0x10
or eax, ecx
mov byte [esp + 0x12a0], 0
mov dword [0x563078], eax
mov eax, dword [edi]
mov ecx, edi
push 0x56306c
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x108]
mov eax, dword [edi]
mov ecx, edi
push 0x100d
call dword [eax + 0x14]
mov eax, dword [esi]
mov ecx, esi
push 6
mov dword [esp + 0x18], 0
call dword [eax + 0x1c0]
mov edi, eax
test edi, edi
je 0x44454e
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
push ecx
mov ecx, 0x5622e8
mov dword [esp + 0x20], eax
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ecx, edi
push eax
mov dword [esp + 0x14], eax
call dword [edx + 0x128]
mov eax, dword [esp + 0x10]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x58]
test eax, eax
jle 0x44442c
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov dword [esp + 0x14], eax
push ecx
mov ecx, 0x562240
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ecx, edi
push eax
mov dword [esp + 0x1c], eax
call dword [edx + 0x120]
mov eax, dword [esp + 0x18]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x58]
cmp dword [esp + 0x14], eax
jge 0x44446c
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov dword [esp + 0x14], eax
push ecx
mov ecx, 0x562320
call fcn.0047ce70
push eax
mov ecx, ebx
call fcn.00443470
mov edx, dword [edi]
mov ecx, edi
push eax
mov dword [esp + 0x1c], eax
call dword [edx + 0x118]
mov eax, dword [esp + 0x18]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x58]
cmp dword [esp + 0x14], eax
jge 0x4444a8
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x2c]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0xc8]
mov eax, dword [edi]
lea ecx, [esp + 0x5c]
movdqa xmm0, xmmword [0x5414e0]
push ecx
mov ecx, edi
movdqu xmmword [esp + 0x60], xmm0
call dword [eax + 0x44]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1c]
mov eax, dword [edi]
mov ecx, edi
push 0x64
call dword [eax + 0x24]
mov eax, dword [0x5632ec]
test al, 0x10
jne 0x44451d
or eax, 0x10
mov dword [0x5632ec], eax
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x12a0], 5
mov eax, dword [ecx]
call dword [eax + 0x58]
or eax, 0x3e0000
mov byte [esp + 0x12a0], 0
mov dword [0x559030], eax
mov eax, dword [edi]
mov ecx, edi
push 0x559024
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x90]
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x2900], eax
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x1c0]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x444663
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
mov dword [esp + 0x1c], eax
call fcn.00484e50
mov edi, dword [edi]
lea ecx, [eax*8 + 0x5623bc]
call fcn.0047ce70
mov ecx, dword [esp + 0x10]
push eax
call dword [edi + 0x5c]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x68]
mov edi, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov ecx, dword [esp + 0x10]
push eax
call dword [edi + 0xe8]
mov eax, dword [esp + 0x10]
push ecx
push 0
push ecx
mov edi, dword [eax]
call fcn.004433a0
mov ecx, dword [esp + 0x10]
push eax
call dword [edi + 0x110]
mov eax, dword [0x5632ec]
test al, 0x20
jne 0x444625
or eax, 0x20
mov dword [0x5632ec], eax
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov byte [esp + 0x12a0], 6
mov eax, dword [ebx]
call dword [eax + 0x10c]
mov edx, dword [ebx]
mov ecx, ebx
mov edi, eax
call dword [edx + 0x10c]
mov edx, dword [edi]
mov ecx, edi
mov ebx, eax
call dword [edx + 0x14]
mov edx, dword [ebx]
mov edi, 0x38
sub edi, eax
mov ecx, ebx
shl edi, 0x10
call dword [edx + 0x14]
mov ebx, dword [esp + 0x24]
or eax, edi
mov dword [0x559040], eax
mov byte [esp + 0x12a0], 0
mov edi, dword [esp + 0x10]
mov ecx, edi
push 0x559034
mov eax, dword [edi]
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x90]
mov eax, dword [edi]
mov ecx, edi
push 0xffffffffffffffff
call dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x2904], eax
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x1c0]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x44475c
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x1c4]
mov edx, dword [edi]
mov ecx, edi
push 0x537a34
mov dword [esp + 0x20], eax
call dword [edx + 0x5c]
mov ecx, dword [ebx + 0x68]
mov edi, dword [edi]
mov edx, dword [ecx]
call dword [edx + 0x58]
mov ecx, dword [esp + 0x10]
push eax
call dword [edi + 0xe8]
mov eax, dword [esp + 0x10]
push ecx
push 1
push ecx
mov edi, dword [eax]
call fcn.004433a0
mov ecx, dword [esp + 0x10]
push eax
call dword [edi + 0x110]
mov eax, dword [0x5632ec]
test al, 0x40
jne 0x444727
or eax, 0x40
mov dword [0x5632ec], eax
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov byte [esp + 0x12a0], 7
mov eax, dword [ebx]
call dword [eax + 0x10c]
mov edx, dword [ebx]
mov ecx, ebx
mov edi, eax
call dword [edx + 0x10c]
mov edx, dword [edi]
mov ecx, edi
mov ebx, eax
call dword [edx + 0x14]
mov edx, dword [ebx]
mov edi, 0x38
sub edi, eax
mov ecx, ebx
shl edi, 0x10
call dword [edx + 0x14]
mov ebx, dword [esp + 0x24]
or eax, edi
mov dword [0x559020], eax
mov byte [esp + 0x12a0], 0
mov edi, dword [esp + 0x10]
mov ecx, edi
push 0x559014
mov eax, dword [edi]
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x174]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x90]
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x290c], eax
cmp dword [ebx + 0x8c4], 0
jbe 0x4447bf
cmp byte [ebx + 0x65], 0
je 0x4447bf
lea ecx, [esp + 0x3c]
call fcn.0047d9c0
lea eax, [esp + 0x3c]
mov byte [esp + 0x12a0], 8
push eax
mov ecx, 0x5622d0
call fcn.0047ce70
push eax
lea ecx, [ebx + 0x4c]
call fcn.0047d6b0
test al, al
je 0x444807
mov ecx, dword [ebx + 0x70]
push dword [esp + 0x44]
push dword [esp + 0x4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
test al, al
je 0x444807
lea ecx, [esp + 0x3c]
mov byte [esp + 0x12a0], 0
call fcn.0047d9e0
cmp byte [0x55d3e3], 0
je 0x4447cf
mov ecx, ebx
call fcn.004452c0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x12a0], 0xffffffff
call fcn.0047d9e0
mov ecx, dword [esp + 0x1298]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1280]
xor ecx, esp
call fcn.004632a9
mov esp, ebp
pop ebp
ret
cmp byte [0x55d3e2], 0
jne 0x44484d
call fcn.00484e50
lea ecx, [eax*8 + 0x56271c]
call fcn.0047ce70
mov edx, 0x14
mov ecx, eax
call fcn.00448320
cmp eax, 6
jne 0x44484d
mov ecx, dword [esp + 0x28]
push 0
push 1
push 0
mov eax, dword [ecx]
call dword [eax + 0x180]
push eax
call fcn.00480610
add esp, 0x10
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x12a0], 0
call fcn.0047d9e0
jmp 0x4447cf