Function at 0x45b8b0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5b8
mov eax, dword [0x6f2220]
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x20c], 0
push 0x104
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x45cb2b
mov byte [ebp - 0x105], 0
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x4b4], ecx
lea edx, [ebp - 0x410]
mov dword [ebp - 0x4b8], edx
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4b4]
mov dl, byte [ecx]
mov byte [ebp - 0x4bd], dl
mov eax, dword [ebp - 0x4b8]
mov cl, byte [ebp - 0x4bd]
mov byte [eax], cl
mov edx, dword [ebp - 0x4b4]
add edx, 1
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x4b8]
add eax, 1
mov dword [ebp - 0x4b8], eax
cmp byte [ebp - 0x4bd], 0
jne 0x45b911
lea ecx, [ebp - 0x410]
add ecx, 0xffffffff
mov dword [ebp - 0x4c4], ecx
mov edx, dword [ebp - 0x4c4]
mov al, byte [edx + 1]
mov byte [ebp - 0x4c5], al
inc dword [ebp - 0x4c4]
cmp byte [ebp - 0x4c5], 0
jne 0x45b963
mov edi, dword [ebp - 0x4c4]
mov ecx, dword [0x69803c]
mov dword [edi], ecx
mov edx, dword [0x698040]
mov dword [edi + 4], edx
mov ax, word [0x698044]
mov word [edi + 8], ax
mov cl, byte [0x698046]
mov byte [edi + 0xa], cl
lea edx, [ebp - 0x418]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45bb34
push 0x5f
push 0
push 2
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], edx
mov ecx, dword [ebp - 0x41c]
push ecx
mov edx, dword [ebp - 0x420]
push edx
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45ba41
cmp dword [ebp + 8], 0
je 0x45ba1c
mov edx, dword [ebp + 8]
mov dword [edx], 1
cmp dword [ebp + 0xc], 0
je 0x45ba2b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
cmp dword [ebp + 0x10], 0
je 0x45ba37
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0x20
mov dword [ebp - 0x20c], 1
push 0x448
push 0
push 3
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], edx
mov edx, dword [ebp - 0x424]
push edx
mov eax, dword [ebp - 0x428]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45babc
cmp dword [ebp + 8], 0
je 0x45ba97
mov eax, dword [ebp + 8]
mov dword [eax], 2
cmp dword [ebp + 0xc], 0
je 0x45baa6
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0
cmp dword [ebp + 0x10], 0
je 0x45bab2
mov edx, dword [ebp + 0x10]
mov byte [edx], 0x20
mov dword [ebp - 0x20c], 1
push 0x44
push 0
push 4
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0x430]
push ecx
mov edx, dword [ebp - 0x414]
push edx
mov eax, dword [ebp - 0x418]
push eax
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45bb34
cmp dword [ebp + 8], 0
je 0x45bb0f
mov ecx, dword [ebp + 8]
mov dword [ecx], 3
cmp dword [ebp + 0xc], 0
je 0x45bb1e
mov edx, dword [ebp + 0xc]
mov dword [edx], 0
cmp dword [ebp + 0x10], 0
je 0x45bb2a
mov eax, dword [ebp + 0x10]
mov byte [eax], 0x20
mov dword [ebp - 0x20c], 1
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x4cc], ecx
lea edx, [ebp - 0x410]
mov dword [ebp - 0x4d0], edx
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4cc]
mov dl, byte [ecx]
mov byte [ebp - 0x4d5], dl
mov eax, dword [ebp - 0x4d0]
mov cl, byte [ebp - 0x4d5]
mov byte [eax], cl
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
mov eax, dword [ebp - 0x4d0]
add eax, 1
mov dword [ebp - 0x4d0], eax
cmp byte [ebp - 0x4d5], 0
jne 0x45bb58
lea ecx, [ebp - 0x410]
add ecx, 0xffffffff
mov dword [ebp - 0x4dc], ecx
mov edx, dword [ebp - 0x4dc]
mov al, byte [edx + 1]
mov byte [ebp - 0x4dd], al
inc dword [ebp - 0x4dc]
cmp byte [ebp - 0x4dd], 0
jne 0x45bbaa
mov edi, dword [ebp - 0x4dc]
mov ecx, dword [0x69802c]
mov dword [edi], ecx
mov edx, dword [0x698030]
mov dword [edi + 4], edx
mov eax, dword [0x698034]
mov dword [edi + 8], eax
mov cl, byte [0x698038]
mov byte [edi + 0xc], cl
lea edx, [ebp - 0x418]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45bc82
push 0x46
push 0
push 4
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], edx
mov ecx, dword [ebp - 0x434]
push ecx
mov edx, dword [ebp - 0x438]
push edx
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45bc82
cmp dword [ebp + 8], 0
je 0x45bc5d
mov edx, dword [ebp + 8]
mov dword [edx], 3
cmp dword [ebp + 0xc], 0
je 0x45bc6c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
cmp dword [ebp + 0x10], 0
je 0x45bc78
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0x61
mov dword [ebp - 0x20c], 1
lea edx, [ebp - 0x208]
mov dword [ebp - 0x4e4], edx
lea eax, [ebp - 0x410]
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x4e8]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4e4]
mov al, byte [edx]
mov byte [ebp - 0x4ed], al
mov ecx, dword [ebp - 0x4e8]
mov dl, byte [ebp - 0x4ed]
mov byte [ecx], dl
mov eax, dword [ebp - 0x4e4]
add eax, 1
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e8]
add ecx, 1
mov dword [ebp - 0x4e8], ecx
cmp byte [ebp - 0x4ed], 0
jne 0x45bca6
lea edx, [ebp - 0x410]
add edx, 0xffffffff
mov dword [ebp - 0x4f4], edx
mov eax, dword [ebp - 0x4f4]
mov cl, byte [eax + 1]
mov byte [ebp - 0x4f5], cl
inc dword [ebp - 0x4f4]
cmp byte [ebp - 0x4f5], 0
jne 0x45bcf8
mov edi, dword [ebp - 0x4f4]
mov edx, dword [0x69803c]
mov dword [edi], edx
mov eax, dword [0x698040]
mov dword [edi + 4], eax
mov cx, word [0x698044]
mov word [edi + 8], cx
mov dl, byte [0x698046]
mov byte [edi + 0xa], dl
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x410]
push ecx
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45becf
push 0x9b
push 0
push 5
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], edx
mov edx, dword [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x440]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45bdd9
cmp dword [ebp + 8], 0
je 0x45bdb4
mov eax, dword [ebp + 8]
mov dword [eax], 5
cmp dword [ebp + 0xc], 0
je 0x45bdc3
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0
cmp dword [ebp + 0x10], 0
je 0x45bdcf
mov edx, dword [ebp + 0x10]
mov byte [edx], 0x20
mov dword [ebp - 0x20c], 1
push 0x13e
push 0
push 6
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x444]
push eax
mov ecx, dword [ebp - 0x448]
push ecx
mov edx, dword [ebp - 0x414]
push edx
mov eax, dword [ebp - 0x418]
push eax
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45be54
cmp dword [ebp + 8], 0
je 0x45be2f
mov ecx, dword [ebp + 8]
mov dword [ecx], 6
cmp dword [ebp + 0xc], 0
je 0x45be3e
mov edx, dword [ebp + 0xc]
mov dword [edx], 0
cmp dword [ebp + 0x10], 0
je 0x45be4a
mov eax, dword [ebp + 0x10]
mov byte [eax], 0x20
mov dword [ebp - 0x20c], 1
push 0x1b4
push 0
push 6
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x44c], edx
mov ecx, dword [ebp - 0x44c]
push ecx
mov edx, dword [ebp - 0x450]
push edx
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45becf
cmp dword [ebp + 8], 0
je 0x45beaa
mov edx, dword [ebp + 8]
mov dword [edx], 6
cmp dword [ebp + 0xc], 0
je 0x45beb9
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
cmp dword [ebp + 0x10], 0
je 0x45bec5
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0x20
mov dword [ebp - 0x20c], 1
lea edx, [ebp - 0x208]
mov dword [ebp - 0x4fc], edx
lea eax, [ebp - 0x410]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x4fc]
mov al, byte [edx]
mov byte [ebp - 0x505], al
mov ecx, dword [ebp - 0x500]
mov dl, byte [ebp - 0x505]
mov byte [ecx], dl
mov eax, dword [ebp - 0x4fc]
add eax, 1
mov dword [ebp - 0x4fc], eax
mov ecx, dword [ebp - 0x500]
add ecx, 1
mov dword [ebp - 0x500], ecx
cmp byte [ebp - 0x505], 0
jne 0x45bef3
lea edx, [ebp - 0x410]
add edx, 0xffffffff
mov dword [ebp - 0x50c], edx
mov eax, dword [ebp - 0x50c]
mov cl, byte [eax + 1]
mov byte [ebp - 0x50d], cl
inc dword [ebp - 0x50c]
cmp byte [ebp - 0x50d], 0
jne 0x45bf45
mov edi, dword [ebp - 0x50c]
mov edx, dword [0x698020]
mov dword [edi], edx
mov eax, dword [0x698024]
mov dword [edi + 4], eax
mov ecx, dword [0x698028]
mov dword [edi + 8], ecx
lea edx, [ebp - 0x418]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45c017
push 0x206
push 3
push 6
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], edx
mov ecx, dword [ebp - 0x454]
push ecx
mov edx, dword [ebp - 0x458]
push edx
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45c017
cmp dword [ebp + 8], 0
je 0x45bff2
mov edx, dword [ebp + 8]
mov dword [edx], 6
cmp dword [ebp + 0xc], 0
je 0x45c001
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
cmp dword [ebp + 0x10], 0
je 0x45c00d
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0x61
mov dword [ebp - 0x20c], 1
lea edx, [ebp - 0x208]
mov dword [ebp - 0x514], edx
lea eax, [ebp - 0x410]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x514]
mov al, byte [edx]
mov byte [ebp - 0x51d], al
mov ecx, dword [ebp - 0x518]
mov dl, byte [ebp - 0x51d]
mov byte [ecx], dl
mov eax, dword [ebp - 0x514]
add eax, 1
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x518]
add ecx, 1
mov dword [ebp - 0x518], ecx
cmp byte [ebp - 0x51d], 0
jne 0x45c03b
lea edx, [ebp - 0x410]
add edx, 0xffffffff
mov dword [ebp - 0x524], edx
mov eax, dword [ebp - 0x524]
mov cl, byte [eax + 1]
mov byte [ebp - 0x525], cl
inc dword [ebp - 0x524]
cmp byte [ebp - 0x525], 0
jne 0x45c08d
mov edi, dword [ebp - 0x524]
mov edx, dword [0x69803c]
mov dword [edi], edx
mov eax, dword [0x698040]
mov dword [edi + 4], eax
mov cx, word [0x698044]
mov word [edi + 8], cx
mov dl, byte [0x698046]
mov byte [edi + 0xa], dl
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x410]
push ecx
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45c16a
push 0x2bc
push 0
push 7
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], edx
mov edx, dword [ebp - 0x45c]
push edx
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45c16a
cmp dword [ebp + 8], 0
je 0x45c145
mov eax, dword [ebp + 8]
mov dword [eax], 7
cmp dword [ebp + 0xc], 0
je 0x45c154
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0
cmp dword [ebp + 0x10], 0
je 0x45c160
mov edx, dword [ebp + 0x10]
mov byte [edx], 0x20
mov dword [ebp - 0x20c], 1
lea eax, [ebp - 0x208]
mov dword [ebp - 0x52c], eax
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x530], ecx
mov edx, dword [ebp - 0x530]
mov dword [ebp - 0x534], edx
mov eax, dword [ebp - 0x52c]
mov cl, byte [eax]
mov byte [ebp - 0x535], cl
mov edx, dword [ebp - 0x530]
mov al, byte [ebp - 0x535]
mov byte [edx], al
mov ecx, dword [ebp - 0x52c]
add ecx, 1
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x530]
add edx, 1
mov dword [ebp - 0x530], edx
cmp byte [ebp - 0x535], 0
jne 0x45c18e
lea eax, [ebp - 0x410]
add eax, 0xffffffff
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x53c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x53d], dl
inc dword [ebp - 0x53c]
cmp byte [ebp - 0x53d], 0
jne 0x45c1e0
mov edi, dword [ebp - 0x53c]
mov eax, dword [0x698014]
mov dword [edi], eax
mov ecx, dword [0x698018]
mov dword [edi + 4], ecx
mov edx, dword [0x69801c]
mov dword [edi + 8], edx
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x410]
push ecx
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45c2b2
push 0x2cc
push 0
push 7
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], edx
mov edx, dword [ebp - 0x464]
push edx
mov eax, dword [ebp - 0x468]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45c2b2
cmp dword [ebp + 8], 0
je 0x45c28d
mov eax, dword [ebp + 8]
mov dword [eax], 7
cmp dword [ebp + 0xc], 0
je 0x45c29c
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0
cmp dword [ebp + 0x10], 0
je 0x45c2a8
mov edx, dword [ebp + 0x10]
mov byte [edx], 0x61
mov dword [ebp - 0x20c], 1
lea eax, [ebp - 0x208]
mov dword [ebp - 0x544], eax
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x548], ecx
mov edx, dword [ebp - 0x548]
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp - 0x544]
mov cl, byte [eax]
mov byte [ebp - 0x54d], cl
mov edx, dword [ebp - 0x548]
mov al, byte [ebp - 0x54d]
mov byte [edx], al
mov ecx, dword [ebp - 0x544]
add ecx, 1
mov dword [ebp - 0x544], ecx
mov edx, dword [ebp - 0x548]
add edx, 1
mov dword [ebp - 0x548], edx
cmp byte [ebp - 0x54d], 0
jne 0x45c2d6
lea eax, [ebp - 0x410]
add eax, 0xffffffff
mov dword [ebp - 0x554], eax
mov ecx, dword [ebp - 0x554]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x555], dl
inc dword [ebp - 0x554]
cmp byte [ebp - 0x555], 0
jne 0x45c328
mov edi, dword [ebp - 0x554]
mov eax, dword [0x69803c]
mov dword [edi], eax
mov ecx, dword [0x698040]
mov dword [edi + 4], ecx
mov dx, word [0x698044]
mov word [edi + 8], dx
mov al, byte [0x698046]
mov byte [edi + 0xa], al
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x410]
push edx
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45c474
mov eax, dword [ebp - 0x414]
shr eax, 0x10
movzx ecx, ax
cmp ecx, 4
jne 0x45c3e5
push 0x190
push 0
push 8
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], edx
mov edx, dword [ebp - 0x46c]
push edx
mov eax, dword [ebp - 0x470]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jge 0x45c440
mov eax, dword [ebp - 0x414]
shr eax, 0x10
movzx ecx, ax
cmp ecx, 5
jne 0x45c474
push 0x190
push 0x8d2
push 1
push 5
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x474], edx
mov edx, dword [ebp - 0x474]
push edx
mov eax, dword [ebp - 0x478]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45c474
cmp dword [ebp + 8], 0
je 0x45c44f
mov eax, dword [ebp + 8]
mov dword [eax], 8
cmp dword [ebp + 0xc], 0
je 0x45c45e
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0
cmp dword [ebp + 0x10], 0
je 0x45c46a
mov edx, dword [ebp + 0x10]
mov byte [edx], 0x20
mov dword [ebp - 0x20c], 1
lea eax, [ebp - 0x208]
mov dword [ebp - 0x55c], eax
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x560], ecx
mov edx, dword [ebp - 0x560]
mov dword [ebp - 0x564], edx
mov eax, dword [ebp - 0x55c]
mov cl, byte [eax]
mov byte [ebp - 0x565], cl
mov edx, dword [ebp - 0x560]
mov al, byte [ebp - 0x565]
mov byte [edx], al
mov ecx, dword [ebp - 0x55c]
add ecx, 1
mov dword [ebp - 0x55c], ecx
mov edx, dword [ebp - 0x560]
add edx, 1
mov dword [ebp - 0x560], edx
cmp byte [ebp - 0x565], 0
jne 0x45c498
lea eax, [ebp - 0x410]
add eax, 0xffffffff
mov dword [ebp - 0x56c], eax
mov ecx, dword [ebp - 0x56c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x56d], dl
inc dword [ebp - 0x56c]
cmp byte [ebp - 0x56d], 0
jne 0x45c4ea
mov edi, dword [ebp - 0x56c]
mov eax, dword [0x698008]
mov dword [edi], eax
mov ecx, dword [0x69800c]
mov dword [edi + 4], ecx
mov dx, word [0x698010]
mov word [edi + 8], dx
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x410]
push ecx
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45c715
mov edx, dword [ebp - 0x414]
shr edx, 0x10
movzx eax, dx
cmp eax, 4
jne 0x45c59f
push 0x371
push 1
push 8
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], edx
mov ecx, dword [ebp - 0x47c]
push ecx
mov edx, dword [ebp - 0x480]
push edx
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jge 0x45c5fa
mov edx, dword [ebp - 0x414]
shr edx, 0x10
movzx eax, dx
cmp eax, 5
jne 0x45c62e
push 0x371
push 0xa28
push 1
push 5
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], edx
mov ecx, dword [ebp - 0x484]
push ecx
mov edx, dword [ebp - 0x488]
push edx
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45c62e
cmp dword [ebp + 8], 0
je 0x45c609
mov edx, dword [ebp + 8]
mov dword [edx], 8
cmp dword [ebp + 0xc], 0
je 0x45c618
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
cmp dword [ebp + 0x10], 0
je 0x45c624
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0x20
mov dword [ebp - 0x20c], 1
mov edx, dword [ebp - 0x414]
shr edx, 0x10
movzx eax, dx
cmp eax, 4
jne 0x45c686
push 0x385
push 1
push 8
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], edx
mov ecx, dword [ebp - 0x48c]
push ecx
mov edx, dword [ebp - 0x490]
push edx
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jge 0x45c6e1
mov edx, dword [ebp - 0x414]
shr edx, 0x10
movzx eax, dx
cmp eax, 5
jne 0x45c715
push 0x385
push 0xa28
push 1
push 5
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], edx
mov ecx, dword [ebp - 0x494]
push ecx
mov edx, dword [ebp - 0x498]
push edx
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45c715
cmp dword [ebp + 8], 0
je 0x45c6f0
mov edx, dword [ebp + 8]
mov dword [edx], 8
cmp dword [ebp + 0xc], 0
je 0x45c6ff
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
cmp dword [ebp + 0x10], 0
je 0x45c70b
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0x61
mov dword [ebp - 0x20c], 1
lea edx, [ebp - 0x208]
mov dword [ebp - 0x574], edx
lea eax, [ebp - 0x410]
mov dword [ebp - 0x578], eax
mov ecx, dword [ebp - 0x578]
mov dword [ebp - 0x57c], ecx
mov edx, dword [ebp - 0x574]
mov al, byte [edx]
mov byte [ebp - 0x57d], al
mov ecx, dword [ebp - 0x578]
mov dl, byte [ebp - 0x57d]
mov byte [ecx], dl
mov eax, dword [ebp - 0x574]
add eax, 1
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x578]
add ecx, 1
mov dword [ebp - 0x578], ecx
cmp byte [ebp - 0x57d], 0
jne 0x45c739
lea edx, [ebp - 0x410]
add edx, 0xffffffff
mov dword [ebp - 0x584], edx
mov eax, dword [ebp - 0x584]
mov cl, byte [eax + 1]
mov byte [ebp - 0x585], cl
inc dword [ebp - 0x584]
cmp byte [ebp - 0x585], 0
jne 0x45c78b
mov edi, dword [ebp - 0x584]
mov edx, dword [0x697ff8]
mov dword [edi], edx
mov eax, dword [0x697ffc]
mov dword [edi + 4], eax
mov ecx, dword [0x698000]
mov dword [edi + 8], ecx
mov dl, byte [0x698004]
mov byte [edi + 0xc], dl
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x410]
push ecx
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45c866
push 0x375
push 1
push 3
push 6
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x49c], edx
mov edx, dword [ebp - 0x49c]
push edx
mov eax, dword [ebp - 0x4a0]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45c866
cmp dword [ebp + 8], 0
je 0x45c841
mov eax, dword [ebp + 8]
mov dword [eax], 8
cmp dword [ebp + 0xc], 0
je 0x45c850
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 1
cmp dword [ebp + 0x10], 0
je 0x45c85c
mov edx, dword [ebp + 0x10]
mov byte [edx], 0x62
mov dword [ebp - 0x20c], 1
lea eax, [ebp - 0x208]
mov dword [ebp - 0x58c], eax
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x590], ecx
mov edx, dword [ebp - 0x590]
mov dword [ebp - 0x594], edx
mov eax, dword [ebp - 0x58c]
mov cl, byte [eax]
mov byte [ebp - 0x595], cl
mov edx, dword [ebp - 0x590]
mov al, byte [ebp - 0x595]
mov byte [edx], al
mov ecx, dword [ebp - 0x58c]
add ecx, 1
mov dword [ebp - 0x58c], ecx
mov edx, dword [ebp - 0x590]
add edx, 1
mov dword [ebp - 0x590], edx
cmp byte [ebp - 0x595], 0
jne 0x45c88a
lea eax, [ebp - 0x410]
add eax, 0xffffffff
mov dword [ebp - 0x59c], eax
mov ecx, dword [ebp - 0x59c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x59d], dl
inc dword [ebp - 0x59c]
cmp byte [ebp - 0x59d], 0
jne 0x45c8dc
mov edi, dword [ebp - 0x59c]
mov eax, dword [0x697fec]
mov dword [edi], eax
mov ecx, dword [0x697ff0]
mov dword [edi + 4], ecx
mov dx, word [0x697ff4]
mov word [edi + 8], dx
mov al, byte [0x697ff6]
mov byte [edi + 0xa], al
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x410]
push edx
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45ca28
mov eax, dword [ebp - 0x414]
shr eax, 0x10
movzx ecx, ax
cmp ecx, 4
jne 0x45c999
push 0x86
push 0
push 9
push 4
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4a4], edx
mov edx, dword [ebp - 0x4a4]
push edx
mov eax, dword [ebp - 0x4a8]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jge 0x45c9f4
mov eax, dword [ebp - 0x414]
shr eax, 0x10
movzx ecx, ax
cmp ecx, 5
jne 0x45ca28
push 0x86
push 0xe5d
push 2
push 5
call fcn.0045cc60
add esp, 0x10
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4ac], edx
mov edx, dword [ebp - 0x4ac]
push edx
mov eax, dword [ebp - 0x4b0]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0045ccc0
add esp, 0x10
test eax, eax
jl 0x45ca28
cmp dword [ebp + 8], 0
je 0x45ca03
mov eax, dword [ebp + 8]
mov dword [eax], 8
cmp dword [ebp + 0xc], 0
je 0x45ca12
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 2
cmp dword [ebp + 0x10], 0
je 0x45ca1e
mov edx, dword [ebp + 0x10]
mov byte [edx], 0x20
mov dword [ebp - 0x20c], 1
lea eax, [ebp - 0x208]
mov dword [ebp - 0x5a4], eax
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp - 0x5a8]
mov dword [ebp - 0x5ac], edx
mov eax, dword [ebp - 0x5a4]
mov cl, byte [eax]
mov byte [ebp - 0x5ad], cl
mov edx, dword [ebp - 0x5a8]
mov al, byte [ebp - 0x5ad]
mov byte [edx], al
mov ecx, dword [ebp - 0x5a4]
add ecx, 1
mov dword [ebp - 0x5a4], ecx
mov edx, dword [ebp - 0x5a8]
add edx, 1
mov dword [ebp - 0x5a8], edx
cmp byte [ebp - 0x5ad], 0
jne 0x45ca4c
lea eax, [ebp - 0x410]
add eax, 0xffffffff
mov dword [ebp - 0x5b4], eax
mov ecx, dword [ebp - 0x5b4]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x5b5], dl
inc dword [ebp - 0x5b4]
cmp byte [ebp - 0x5b5], 0
jne 0x45ca9e
mov edi, dword [ebp - 0x5b4]
mov eax, dword [0x697fe0]
mov dword [edi], eax
mov ecx, dword [0x697fe4]
mov dword [edi + 4], ecx
mov dx, word [0x697fe8]
mov word [edi + 8], dx
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x410]
push ecx
call fcn.0045cb70
add esp, 8
test eax, eax
jl 0x45cb2b
cmp dword [ebp + 8], 0
je 0x45cb06
mov edx, dword [ebp + 8]
mov dword [edx], 9
cmp dword [ebp + 0xc], 0
je 0x45cb15
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
cmp dword [ebp + 0x10], 0
je 0x45cb21
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0x20
mov dword [ebp - 0x20c], 1
cmp dword [ebp - 0x20c], 0
jne 0x45cb5e
cmp dword [ebp + 8], 0
je 0x45cb43
mov edx, dword [ebp + 8]
mov dword [edx], 0
cmp dword [ebp + 0xc], 0
je 0x45cb52
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
cmp dword [ebp + 0x10], 0
je 0x45cb5e
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0x20
xor eax, eax
mov ecx, dword [ebp - 4]
call fcn.00674e87
pop edi
mov esp, ebp
pop ebp
ret