Function at 0x4548d0
Capabilities:
Copy file
Get common file path
Read .ini file
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50c2e5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa40
push ebx
push esi
push edi
mov esi, ecx
xor edi, edi
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], edi
call fcn.0040a9a0
mov dword [ebp - 4], edi
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00469350
mov eax, dword [0x56b44c]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 2
call fcn.004faff9
mov ebx, dword [eax + 4]
push 0x5625e4
lea ecx, [ebp - 0x18]
push 0x5762b4
push ecx
mov dword [ebp - 0x28], ebx
call fcn.004e20cc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.004e1f6e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e1e27
lea edx, [ebp - 0x1c]
push edx
call fcn.004aaf40
add esp, 4
cmp eax, edi
jne 0x454996
lea eax, [ebx + 0xe0]
push 0x5625b0
lea ecx, [ebp - 0x18]
push eax
push ecx
call fcn.004e20cc
mov edx, dword [ebp - 0x1c]
mov eax, dword [eax]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileW]
push edx
push eax
call edi
lea ecx, [ebp - 0x18]
call fcn.004e1e27
jmp 0x45499c
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, dword [esi + 0x5b8]
push 0x5616c4
add eax, 0xe4
lea ecx, [ebp - 0x18]
push eax
push ecx
call fcn.004e20cc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.004e1f6e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e1e27
lea edx, [ebp - 0x1c]
push edx
call fcn.004aaf40
add esp, 4
test eax, eax
jne 0x454a07
lea eax, [ebx + 0xe0]
push 0x562588
lea ecx, [ebp - 0x18]
push eax
push ecx
call fcn.004e20cc
mov edx, dword [ebp - 0x1c]
mov eax, dword [eax]
push 0
push edx
push eax
call edi
lea ecx, [ebp - 0x18]
call fcn.004e1e27
mov eax, dword [esi + 0x5b8]
push 0x55ef08
add eax, 0xe4
lea ecx, [ebp - 0x18]
push eax
push ecx
call fcn.004e20cc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.004e1f6e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e1e27
lea edx, [ebp - 0x1c]
push edx
call fcn.004aaf40
add esp, 4
test eax, eax
jne 0x454a72
add ebx, 0xe0
push 0x562558
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.004e20cc
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax]
push 0
push ecx
push eax
call edi
lea ecx, [ebp - 0x18]
call fcn.004e1e27
lea ecx, [esi + 0x1334]
call fcn.0048c780
mov ecx, dword [0x57614c]
call fcn.00444700
mov edx, dword [0x5710b8]
mov ecx, dword [esi + 0x5b8]
push edx
push 0x562538
push 0x55c5a4
call fcn.004fb49a
mov dword [0x5710b8], eax
mov eax, dword [0x5710b4]
mov ecx, dword [esi + 0x5b8]
push eax
push 0x562508
push 0x55c5a4
call fcn.004fb49a
mov ecx, esi
mov dword [0x5710b4], eax
call fcn.0046ebb0
mov ecx, esi
call fcn.004547e0
lea ecx, [ebp - 0x18]
push ecx
call fcn.004d8218
mov eax, dword [eax]
lea edx, [esi + 0x858]
mov dword [esi + 0x864], eax
push edx
mov dword [esi + 0x868], eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esi + 0x1c]
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0x2ee
push 0x5fa
push eax
call ebx
push 0
mov dword [esi + 0x75c], eax
mov ecx, dword [esi + 0x5b8]
push 0x5624e8
push 0x55c5a4
call fcn.004fb49a
mov edi, eax
test edi, edi
mov dword [esi + 0x6ec], edi
je 0x454b50
mov ecx, esi
call fcn.0044a6a0
mov ecx, dword [eax + 4]
push 8
push edi
push ecx
call dword [sym.imp.USER32.dll_CheckMenuItem]
lea edx, [ebp - 0x18]
push edx
call fcn.004d8218
mov eax, dword [eax]
push 1
mov dword [esi + 0x224], eax
mov ecx, dword [esi + 0x5b8]
push 0x5624c8
push 0x55c5a4
call fcn.004fb49a
mov dword [esi + 0x188], eax
mov ecx, dword [0x5710f4]
push ecx
mov ecx, dword [esi + 0x5b8]
push 0x560a60
push 0x55c5a4
call fcn.004fb49a
mov edx, dword [0x5710f8]
mov dword [0x5710f4], eax
mov ecx, dword [esi + 0x5b8]
push edx
push 0x560a40
push 0x55c5a4
call fcn.004fb49a
mov ecx, esi
mov dword [0x5710f8], eax
call fcn.0045b6c0
lea ecx, [esi + 0x1364]
call fcn.00404bd0
mov eax, dword [esi + 0x5f4]
test eax, eax
je 0x454bf1
mov eax, dword [esi + 0x1c]
push 0
push 0xfa
push 0x63
push eax
call ebx
mov dword [esi + 0x760], eax
mov ecx, esi
call fcn.00457ac0
lea ecx, [ebp - 0x18]
push ecx
mov ecx, esi
call fcn.00454500
push eax
lea ecx, [esi + 0x268]
mov byte [ebp - 4], 6
call fcn.004e1f6e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov ecx, dword [esi + 0x5b8]
push 0
push 0x560dac
push 0x55c5a4
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x560d94
push 0x55c5a4
mov dword [esi + 0x1cc], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x560d64
push 0x55c5a4
mov dword [esi + 0x1d0], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x560d00
push 0x55c5a4
mov dword [esi + 0x1d8], eax
call fcn.004fb49a
mov edx, dword [0x57115c]
mov dword [0x571158], eax
mov ecx, dword [esi + 0x5b8]
push edx
push 0x560d20
push 0x55c5a4
call fcn.004fb49a
mov dword [0x57115c], eax
mov ecx, dword [esi + 0x5b8]
push 0
push 0x560d3c
lea eax, [ebp - 0x18]
push 0x55c5a4
push eax
call fcn.004fb506
push eax
mov ecx, 0x571160
mov byte [ebp - 4], 7
call fcn.004e1f6e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov eax, dword [0x57115c]
test eax, eax
je 0x454d0c
mov ecx, dword [0x571160]
mov eax, dword [ecx - 8]
test eax, eax
je 0x454d0c
push 0x571160
call fcn.00422bd0
add esp, 4
mov edx, dword [0x571118]
mov ecx, dword [esi + 0x5b8]
push edx
push 0x5624a8
push 0x55c5a4
call fcn.004fb49a
mov dword [0x571118], eax
mov eax, dword [0x571114]
mov ecx, dword [esi + 0x5b8]
push eax
push 0x562494
push 0x55c5a4
call fcn.004fb49a
mov dword [0x571114], eax
mov ecx, dword [esi + 0x540]
push ecx
mov ecx, dword [esi + 0x5b8]
push 0x5615c8
push 0x55c5a4
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x56246c
push 0x55c5a4
mov dword [esi + 0x540], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x562448
push 0x55c5a4
mov dword [esi + 0x15c], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x5610fc
push 0x55c5a4
mov dword [esi + 0x164], eax
call fcn.004fb49a
push 1
mov dword [0x575528], eax
mov ecx, dword [esi + 0x5b8]
push 0x560828
push 0x560814
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x5607f0
push 0x560814
mov dword [esi + 0x154], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x5607c8
push 0x560814
mov dword [esi + 0x140], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x56078c
push 0x560814
mov dword [esi + 0x144], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x5607a8
push 0x560814
mov dword [esi + 0x148], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x56076c
push 0x560814
mov dword [esi + 0x14c], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x56074c
push 0x560814
mov dword [esi + 0x150], eax
call fcn.004fb49a
mov dword [esi + 0x13c], eax
mov ecx, dword [esi + 0x5b8]
push 0
push 0x560720
push 0x560814
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x562428
push 0x562418
mov dword [esi + 0x158], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x5623f4
push 0x562418
mov dword [esi + 0x134], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x5623d4
push 0x562418
mov dword [esi + 0x138], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
mov dword [esi + 0x100], eax
mov edx, dword [0x571108]
push edx
push 0x560b70
push 0x55c5a4
call fcn.004fb49a
mov dword [0x571108], eax
mov eax, dword [0x571104]
mov ecx, dword [esi + 0x5b8]
push eax
push 0x56055c
push 0x560eec
call fcn.004fb49a
push 0x5625e4
lea ecx, [ebp - 0x18]
push 0x5762b4
push ecx
mov dword [0x571104], eax
call fcn.004e20cc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.004e1f6e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov edx, dword [ebp - 0x1c]
xor ebx, ebx
push edx
push ebx
push 0x5623b8
push 0x5623a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea edi, [esi + 0x258]
mov dword [esi + 0x1fc], eax
mov ecx, edi
call fcn.004e1daf
mov eax, dword [esi + 0x1fc]
cmp eax, ebx
jle 0x455038
mov ecx, dword [0x56b44c]
mov dword [ebp - 0x24], ecx
lea edx, [ebp - 0x42]
push 0xa
push edx
push eax
mov byte [ebp - 4], 9
mov word [ebp - 0x44], 0x53
call fcn.004bdd5d
mov eax, dword [ebp - 0x1c]
add esp, 0xc
lea ecx, [ebp - 0xa4c]
lea edx, [ebp - 0x44]
push eax
push 0x400
push ecx
push 0x5705d0
push edx
push 0x5623a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0xa4c]
lea ecx, [ebp - 0x24]
push eax
call fcn.004e1fbe
mov ecx, dword [ebp - 0x24]
cmp dword [ecx - 8], 1
jge 0x45500f
mov dword [esi + 0x1fc], ebx
jmp 0x45502c
push 0x55c36c
push 0x55cb68
lea ecx, [ebp - 0x24]
call fcn.004d6c2b
lea edx, [ebp - 0x24]
mov ecx, edi
push edx
call fcn.004e1f6e
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xa4c]
push eax
push 0x400
push ecx
push 0x562380
push 0x562360
push 0x5623a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [ebp - 0xa4c]
lea ecx, [esi + 0x25c]
push edx
call fcn.004e1fbe
mov ecx, dword [esi + 0x5b8]
push 0x5705d0
push 0x562348
lea eax, [ebp - 0x18]
push 0x55c5a4
push eax
call fcn.004fb506
push eax
lea ecx, [esi + 0x254]
mov byte [ebp - 4], 0xa
call fcn.004e1f6e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov ecx, dword [esi + 0x5b8]
push 1
push 0x560af4
push 0x55c5a4
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x5612f0
push 0x5612e0
mov dword [esi + 0x110], eax
call fcn.004fb49a
push ebx
push 0x5612c8
lea ecx, [ebp - 0x18]
push 0x5612e0
push ecx
mov ecx, dword [esi + 0x5b8]
mov dword [esi + 0x1f4], eax
call fcn.004fb506
push eax
lea ecx, [esi + 0x250]
mov byte [ebp - 4], 0xb
call fcn.004e1f6e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e1e27
lea edx, [ebp - 0x18]
mov dword [ebp - 0x24], 1
push edx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], ebx
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
cmp eax, ebx
jl 0x455188
lea eax, [ebp - 0x2c]
push eax
push 5
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
je 0x455153
mov dword [ebp - 0x24], 0
jmp 0x455167
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x24c]
push ecx
push edx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x455188
mov ecx, dword [esi + 0x5b8]
push 0
push 0x561400
lea edx, [ebp - 0x14]
push 0x55c5a4
push edx
mov dword [ebp - 4], 2
call fcn.004fb506
mov ecx, dword [ebp - 0x28]
push eax
mov byte [ebp - 4], 0xe
lea edi, [ecx + 0xf8]
mov ecx, edi
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
lea edx, [ebp - 0x14]
push 2
push edx
mov ecx, edi
call fcn.004d6f0d
mov eax, dword [eax]
push 0x55c42c
push eax
call fcn.004bdb15
add esp, 8
lea ecx, [ebp - 0x14]
test eax, eax
sete bl
call fcn.004e1e27
test bl, bl
je 0x455245
lea ecx, [ebp - 0x14]
push 2
push ecx
mov ecx, edi
call fcn.004d6dd8
push eax
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
push edi
lea edx, [ebp - 0x14]
push 0x5762b0
push edx
call fcn.004e2066
push eax
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov eax, dword [edi]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x4552b0
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x455271
lea eax, [ebp - 0x24c]
lea ecx, [ebp - 0x14]
push eax
call fcn.004e1e9b
mov dword [ebp - 0x20], 1
mov byte [ebp - 4], 0x11
jmp 0x45527c
mov eax, dword [esi + 0x5b8]
add eax, 0xe0
push eax
mov ecx, edi
call fcn.004e1f6e
mov al, byte [ebp - 0x20]
mov dword [ebp - 4], 2
test al, 1
je 0x4552a2
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x14]
and al, 0xfe
mov dword [ebp - 0x20], eax
call fcn.004e1e27
push 0x56231c
mov ecx, edi
call fcn.004e2218
jmp 0x4552d3
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [edi]
push 1
push eax
push 0x5622fc
push 0x55d42c
push SysFreeString
call fcn.004ac0f0
add esp, 0x14
lea ecx, [ebp - 0x14]
push 1
push ecx
mov ecx, edi
call fcn.004d6e91
mov edx, dword [eax]
push 0x55c3b8
push edx
call fcn.004bdb15
add esp, 8
lea ecx, [ebp - 0x14]
test eax, eax
setne bl
call fcn.004e1e27
test bl, bl
je 0x45530d
push 0x55c3b8
mov ecx, edi
call fcn.004e2218
mov ecx, dword [esi + 0x5b8]
push 0
push 0x5613e0
lea eax, [ebp - 0x14]
push 0x55c5a4
push eax
call fcn.004fb506
mov ecx, dword [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x12
lea edi, [ecx + 0xf4]
mov ecx, edi
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
lea edx, [ebp - 0x14]
push 2
push edx
mov ecx, edi
call fcn.004d6f0d
mov eax, dword [eax]
push 0x55c42c
push eax
call fcn.004bdb15
add esp, 8
lea ecx, [ebp - 0x14]
test eax, eax
sete bl
call fcn.004e1e27
test bl, bl
je 0x4553c3
lea ecx, [ebp - 0x14]
push 2
push ecx
mov ecx, edi
call fcn.004d6dd8
push eax
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
push edi
lea edx, [ebp - 0x14]
push 0x5762b0
push edx
call fcn.004e2066
push eax
mov ecx, edi
mov byte [ebp - 4], 0x14
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov eax, dword [edi]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x455429
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4553ec
lea ecx, [ebp - 0x24c]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004e1e9b
or dword [ebp - 0x20], 2
mov byte [ebp - 4], 0x15
jmp 0x4553f7
mov eax, dword [esi + 0x5b8]
add eax, 0xe0
push eax
mov ecx, edi
call fcn.004e1f6e
mov al, byte [ebp - 0x20]
mov dword [ebp - 4], 2
test al, 2
je 0x45541d
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x14]
and al, 0xfd
mov dword [ebp - 0x20], eax
call fcn.004e1e27
push 0x5622d0
mov ecx, edi
call fcn.004e2218
lea edx, [ebp - 0x14]
push 1
push edx
mov ecx, edi
call fcn.004d6e91
mov eax, dword [eax]
push 0x55c3b8
push eax
call fcn.004bdb15
add esp, 8
lea ecx, [ebp - 0x14]
test eax, eax
setne bl
call fcn.004e1e27
test bl, bl
je 0x455463
push 0x55c3b8
mov ecx, edi
call fcn.004e2218
mov ecx, dword [esi + 0x5b8]
push 3
push 0x560ec0
push 0x55c5a4
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x560ea4
push 0x55c5a4
mov dword [esi + 0x6bc], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x560e84
push 0x55c5a4
mov dword [esi + 0x5f8], eax
call fcn.004fb49a
push 0
push 0x5613cc
lea ecx, [ebp - 0x14]
push 0x55c5a4
push ecx
mov ecx, dword [esi + 0x5b8]
mov dword [esi + 0x5fc], eax
call fcn.004fb506
mov edx, dword [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x16
lea edi, [edx + 0xf0]
mov ecx, edi
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
lea eax, [ebp - 0x14]
push 2
push eax
mov ecx, edi
call fcn.004d6f0d
mov ecx, dword [eax]
push 0x55c42c
push ecx
call fcn.004bdb15
add esp, 8
lea ecx, [ebp - 0x14]
test eax, eax
sete bl
call fcn.004e1e27
test bl, bl
je 0x455570
lea edx, [ebp - 0x14]
push 2
push edx
mov ecx, edi
call fcn.004d6dd8
push eax
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
push edi
lea eax, [ebp - 0x14]
push 0x5762b0
push eax
call fcn.004e2066
push eax
mov ecx, edi
mov byte [ebp - 4], 0x18
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov ecx, dword [edi]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x4555ce
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x455599
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x14]
push edx
call fcn.004e1e9b
or dword [ebp - 0x20], 4
mov byte [ebp - 4], 0x19
jmp 0x4555a4
mov eax, dword [esi + 0x5b8]
add eax, 0xe0
push eax
mov ecx, edi
call fcn.004e1f6e
mov al, byte [ebp - 0x20]
mov dword [ebp - 4], 2
test al, 4
je 0x4555c2
lea ecx, [ebp - 0x14]
call fcn.004e1e27
push 0x5622a0
mov ecx, edi
call fcn.004e2218
lea eax, [ebp - 0x14]
push 1
push eax
mov ecx, edi
call fcn.004d6e91
mov ecx, dword [eax]
push 0x55c3b8
push ecx
call fcn.004bdb15
add esp, 8
lea ecx, [ebp - 0x14]
test eax, eax
setne bl
call fcn.004e1e27
test bl, bl
je 0x455608
push 0x55c3b8
mov ecx, edi
call fcn.004e2218
mov word [ebp - 0x44], 0x46
xor edi, edi
cmp edi, 0xc
jge 0x455665
lea edx, [ebp - 0x42]
lea ebx, [edi + 1]
push 0xa
push edx
push ebx
call fcn.004bdd5d
add esp, 0xc
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x14]
push 0x5705d0
push eax
push 0x56228c
push ecx
mov ecx, dword [esi + 0x5b8]
call fcn.004fb506
push eax
lea ecx, [esi + edi*4 + 0x780]
mov byte [ebp - 4], 0x1a
call fcn.004e1f6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov edi, ebx
jmp 0x455610
mov ecx, dword [esi + 0x5b8]
push 0x7f
push 0x55fe94
push 0x55c5a4
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x560e6c
push 0x55c5a4
mov dword [esi + 0x1f8], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0x5705d0
push 0x56226c
lea edx, [ebp - 0x28]
push 0x55c5a4
push edx
mov dword [esi + 0x108], eax
call fcn.004fb506
push eax
lea ecx, [esi + 0x24c]
mov byte [ebp - 4], 0x1b
call fcn.004e1f6e
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.004e1e27
mov ecx, dword [esi + 0x5b8]
push 0
push 0x560e4c
push 0x55c5a4
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 1
push 0x56224c
push 0x55c5a4
mov dword [esi + 0x10c], eax
call fcn.004fb49a
mov ecx, dword [esi + 0x5b8]
push 0
push 0x562238
push 0x56228c
mov dword [esi + 0x104], eax
call fcn.004fb49a
mov ecx, esi
mov dword [esi + 0xf4], eax
call fcn.00467e40
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.004e1e27
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
call fcn.0040a9d0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret