Function at 0x455850
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5714e6
mov eax, dword fs:[0]
push eax
mov eax, 0xdc474
call fcn.00556dd0
mov eax, dword [0x5abc48]
xor eax, ebp
mov dword [ebp - 0x18], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xdc440], ecx
mov eax, dword [ebp - 0xdc440]
cmp dword [eax + 0x63ae8], 1
jge 0x45589a
jmp 0x456bc1
mov ecx, dword [ebp - 0xdc440]
cmp dword [ecx + 0x65ab4], 0
jge 0x4558ae
jmp 0x456bc1
mov edx, dword [ebp - 0xdc440]
cmp dword [edx + 0x65ab0], 0
jge 0x4558c2
jmp 0x456bc1
push 0
mov ecx, dword [ebp - 0xdc440]
add ecx, 0x80
call fcn.0052f0e0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 1
mov ecx, dword [ebp - 0xdc440]
call fcn.0053f2c4
lea ecx, [ebp - 0xdc3ac]
call fcn.004154f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x7a868]
call fcn.004154f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7a828]
call fcn.004154f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7a864]
call fcn.004154f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xdc3a8]
call fcn.004154f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x158]
call fcn.004154f0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xdc3a4]
call fcn.004154f0
mov byte [ebp - 4], 6
mov dword [ebp - 0xec], 5
push 0x59b8c0
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3c8], eax
mov eax, dword [ebp - 0xdc3c8]
mov dword [ebp - 0x61cb4], eax
call fcn.00415420
mov dword [ebp - 0xdc444], eax
push 1
mov ecx, dword [ebp - 0xdc444]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xdc444]
mov eax, dword [edx + 0x9c]
call eax
mov dword [ebp - 0x154], 0
mov dword [ebp - 0xdc3a0], 0
mov dword [ebp - 0x7a844], 0
mov dword [ebp - 0x7a7d4], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x7a7c8], 0
mov dword [ebp - 0x7a4f4], 0
mov dword [ebp - 0x7a870], 0
mov dword [ebp - 0x7a840], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x7a4f0], 0
mov dword [ebp - 0x7a4ec], 0
lea ecx, [ebp - 0x7a860]
call fcn.00536457
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xdc3ac]
push ecx
push 0x423
mov ecx, dword [ebp - 0xdc440]
call fcn.00542213
lea ecx, [ebp - 0xdc3ac]
call fcn.00415630
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3cc], eax
mov eax, dword [ebp - 0xdc3cc]
mov dword [ebp - 0x150], eax
lea ecx, [ebp - 0xdc3ac]
call fcn.00415630
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3d0], eax
mov eax, dword [ebp - 0xdc3d0]
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x150]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0xdc3d4], esp
lea eax, [ebp - 0xdc3ac]
push eax
call fcn.00415510
mov dword [ebp - 0xdc448], eax
call section..text
add esp, 0xc
mov dword [ebp - 0xdc44c], eax
mov ecx, dword [ebp - 0xdc44c]
mov dword [ebp - 0x61cb0], ecx
lea edx, [ebp - 0xdc3ac]
push edx
push 0x41d
mov ecx, dword [ebp - 0xdc440]
call fcn.00542213
lea ecx, [ebp - 0xdc3ac]
call fcn.00415630
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3d8], eax
mov eax, dword [ebp - 0xdc3d8]
mov dword [ebp - 0x7a7dc], eax
lea ecx, [ebp - 0xdc3ac]
call fcn.00415630
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3dc], eax
mov eax, dword [ebp - 0xdc3dc]
mov dword [ebp - 0x7a7d0], eax
mov ecx, dword [ebp - 0x7a7d0]
push ecx
mov edx, dword [ebp - 0x7a7dc]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0xdc3e0], esp
lea eax, [ebp - 0xdc3ac]
push eax
call fcn.00415510
mov dword [ebp - 0xdc450], eax
call section..text
add esp, 0xc
mov dword [ebp - 0xdc454], eax
mov ecx, dword [ebp - 0xdc454]
mov dword [ebp - 0x7a7d8], ecx
lea edx, [ebp - 0xdc3ac]
push edx
push 0x4e9
mov ecx, dword [ebp - 0xdc440]
call fcn.00542213
lea ecx, [ebp - 0xdc3ac]
call fcn.00415630
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3e4], eax
mov eax, dword [ebp - 0xdc3e4]
mov dword [ebp - 0x7a83c], eax
lea ecx, [ebp - 0xdc3ac]
call fcn.00415630
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3e8], eax
mov eax, dword [ebp - 0xdc3e8]
mov dword [ebp - 0x7a4e8], eax
mov ecx, dword [ebp - 0x7a4e8]
push ecx
mov edx, dword [ebp - 0x7a83c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0xdc3ec], esp
lea eax, [ebp - 0xdc3ac]
push eax
call fcn.00415510
mov dword [ebp - 0xdc458], eax
call fcn.00403ee0
add esp, 0xc
mov dword [ebp - 0xdc45c], eax
mov ecx, dword [ebp - 0xdc45c]
mov dword [ebp - 0x7a84c], ecx
cmp dword [ebp - 0x7a84c], 0
jge 0x455cc1
mov dword [ebp - 0x7a84c], 0
mov edx, dword [ebp - 0x7a83c]
mov dword [edx], 0
mov eax, dword [ebp - 0x7a4e8]
mov dword [eax], 0
mov dword [ebp - 0xf0], 0xffffffff
mov dword [ebp - 0x61be0], 0xffffffff
mov dword [ebp - 0x154], 0
jmp 0x455cf0
mov ecx, dword [ebp - 0x154]
add ecx, 1
mov dword [ebp - 0x154], ecx
cmp dword [ebp - 0x154], 0xa
jge 0x455e22
mov dword [ebp - 0xdc3a0], 0
jmp 0x455d18
mov edx, dword [ebp - 0xdc3a0]
add edx, 1
mov dword [ebp - 0xdc3a0], edx
cmp dword [ebp - 0xdc3a0], 0xa
jge 0x455e1d
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov dx, word [ebp - 0x154]
mov word [ebp + ecx*4 - 0x7a7c4], dx
mov eax, dword [ebp - 0xf0]
mov cx, word [ebp - 0xdc3a0]
mov word [ebp + eax*4 - 0x7a7c2], cx
mov edx, dword [ebp - 0x154]
imul edx, edx, 0x14
lea eax, [ebp + edx - 0x7a634]
mov ecx, dword [ebp - 0xdc3a0]
mov dx, word [ebp - 0xf0]
mov word [eax + ecx*2], dx
mov eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0xdc3a0]
jg 0x455def
mov ecx, dword [ebp - 0x154]
imul ecx, ecx, 0xa
add ecx, dword [ebp - 0xdc3a0]
mov edx, dword [ebp - 0x154]
imul edx, edx, 0x14
lea eax, [ebp + edx - 0x61cac]
mov edx, dword [ebp - 0xdc3a0]
mov word [eax + edx*2], cx
mov eax, dword [ebp - 0x61be0]
add eax, 1
mov dword [ebp - 0x61be0], eax
mov ecx, dword [ebp - 0x154]
imul ecx, ecx, 0x14
lea edx, [ebp + ecx - 0x61cac]
mov eax, dword [ebp - 0x61be0]
mov ecx, dword [ebp - 0xdc3a0]
mov dx, word [edx + ecx*2]
mov word [ebp + eax*2 - 0xe4], dx
jmp 0x455e18
mov eax, dword [ebp - 0xdc3a0]
imul eax, eax, 0xa
add eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x154]
imul ecx, ecx, 0x14
lea edx, [ebp + ecx - 0x61cac]
mov ecx, dword [ebp - 0xdc3a0]
mov word [edx + ecx*2], ax
jmp 0x455d09
jmp 0x455ce1
mov edx, dword [ebp - 0x61be0]
mov dword [ebp - 0x7a838], edx
mov eax, dword [ebp - 0xec]
sub eax, 1
mov dword [ebp - 0x7a834], eax
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x154], 1
jmp 0x455e5f
mov ecx, dword [ebp - 0x154]
add ecx, 1
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x154]
cmp edx, dword [ebp - 0xec]
jg 0x455e78
mov eax, dword [ebp - 0x14]
imul eax, eax, 0xa
mov dword [ebp - 0x14], eax
jmp 0x455e50
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3f0], eax
mov eax, dword [ebp - 0xdc3f0]
mov dword [ebp - 0x7a830], eax
mov dword [ebp - 0x154], 0
jmp 0x455ec1
mov ecx, dword [ebp - 0x154]
add ecx, 1
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x154]
cmp edx, dword [ebp - 0x14]
jge 0x455f08
xor ecx, ecx
mov eax, dword [ebp - 0xec]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3f4], eax
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x7a830]
mov edx, dword [ebp - 0xdc3f4]
mov dword [ecx + eax*4], edx
jmp 0x455eb2
mov dword [ebp - 0x154], 0
jmp 0x455f23
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0x14]
jge 0x455f3e
mov edx, dword [ebp - 0x154]
mov byte [ebp + edx - 0x7a4e4], 0
jmp 0x455f14
mov dword [ebp - 0x154], 0
jmp 0x455f59
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0xec]
jge 0x455f7a
mov edx, dword [ebp - 0x154]
mov dword [ebp + edx*4 - 0x13c], 0
jmp 0x455f4a
mov dword [ebp - 0xf0], 0xffffffff
mov eax, 1
test eax, eax
je 0x45623f
mov ecx, dword [ebp - 0xf0]
add ecx, 1
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x154], 0
jmp 0x455fbb
mov edx, dword [ebp - 0x154]
add edx, 1
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0xec]
jge 0x45600c
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x7a830]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 0x154]
mov dx, word [ebp + edx*4 - 0x13c]
mov word [eax + ecx*2], dx
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp + ecx*4 - 0x13c]
mov dword [ebp + eax*4 - 0x7a8bc], edx
jmp 0x455fac
mov eax, dword [ebp - 0x7a834]
push eax
lea ecx, [ebp - 0x7a8bc]
push ecx
call fcn.004014c0
add esp, 8
cmp dword [ebp - 0xec], 3
jne 0x45605a
mov edx, dword [ebp - 0x7a8bc]
cmp edx, dword [ebp - 0x7a8b8]
jne 0x456055
mov eax, dword [ebp - 0x7a8b8]
cmp eax, dword [ebp - 0x7a8b4]
jne 0x456055
mov ecx, dword [ebp - 0xf0]
mov byte [ebp + ecx - 0x7a4e4], 1
jmp 0x4561c5
cmp dword [ebp - 0xec], 4
jne 0x456092
mov edx, dword [ebp - 0x7a8bc]
cmp edx, dword [ebp - 0x7a8b8]
jne 0x45608d
mov eax, dword [ebp - 0x7a8b4]
cmp eax, dword [ebp - 0x7a8b0]
jne 0x45608d
mov ecx, dword [ebp - 0xf0]
mov byte [ebp + ecx - 0x7a4e4], 1
jmp 0x4561c5
cmp dword [ebp - 0xec], 5
jne 0x4561c5
mov edx, dword [ebp - 0x7a8bc]
cmp edx, dword [ebp - 0x7a8b8]
jne 0x4560dc
mov eax, dword [ebp - 0x7a8b8]
cmp eax, dword [ebp - 0x7a8b4]
jne 0x4560dc
mov ecx, dword [ebp - 0x7a8b0]
cmp ecx, dword [ebp - 0x7a8ac]
jne 0x4560dc
mov edx, dword [ebp - 0xf0]
mov byte [ebp + edx - 0x7a4e4], 1
jmp 0x4561c5
mov eax, dword [ebp - 0x7a8b4]
cmp eax, dword [ebp - 0x7a8b0]
jne 0x456119
mov ecx, dword [ebp - 0x7a8b0]
cmp ecx, dword [ebp - 0x7a8ac]
jne 0x456119
mov edx, dword [ebp - 0x7a8bc]
cmp edx, dword [ebp - 0x7a8b8]
jne 0x456119
mov eax, dword [ebp - 0xf0]
mov byte [ebp + eax - 0x7a4e4], 1
jmp 0x4561c5
mov ecx, dword [ebp - 0x7a8bc]
cmp ecx, dword [ebp - 0x7a8b8]
jne 0x456153
mov edx, dword [ebp - 0x7a8b8]
cmp edx, dword [ebp - 0x7a8b4]
jne 0x456153
mov eax, dword [ebp - 0x7a8b4]
cmp eax, dword [ebp - 0x7a8b0]
jne 0x456153
mov ecx, dword [ebp - 0xf0]
mov byte [ebp + ecx - 0x7a4e4], 1
jmp 0x4561c5
mov edx, dword [ebp - 0x7a8b8]
cmp edx, dword [ebp - 0x7a8b4]
jne 0x45618d
mov eax, dword [ebp - 0x7a8b4]
cmp eax, dword [ebp - 0x7a8b0]
jne 0x45618d
mov ecx, dword [ebp - 0x7a8b0]
cmp ecx, dword [ebp - 0x7a8ac]
jne 0x45618d
mov edx, dword [ebp - 0xf0]
mov byte [ebp + edx - 0x7a4e4], 1
jmp 0x4561c5
mov eax, dword [ebp - 0x7a8bc]
cmp eax, dword [ebp - 0x7a8b8]
jne 0x4561c5
mov ecx, dword [ebp - 0x7a8b8]
cmp ecx, dword [ebp - 0x7a8b4]
jne 0x4561c5
mov edx, dword [ebp - 0x7a8b0]
cmp edx, dword [ebp - 0x7a8ac]
jne 0x4561c5
mov eax, dword [ebp - 0xf0]
mov byte [ebp + eax - 0x7a4e4], 1
mov ecx, dword [ebp - 0x7a834]
mov dword [ebp - 0xdc3a0], ecx
jmp 0x4561e2
mov edx, dword [ebp - 0xdc3a0]
sub edx, 1
mov dword [ebp - 0xdc3a0], edx
cmp dword [ebp - 0xdc3a0], 0
jl 0x45622f
mov eax, dword [ebp - 0xdc3a0]
mov ecx, dword [ebp + eax*4 - 0x13c]
add ecx, 1
mov edx, dword [ebp - 0xdc3a0]
mov dword [ebp + edx*4 - 0x13c], ecx
mov eax, dword [ebp - 0xdc3a0]
cmp dword [ebp + eax*4 - 0x13c], 9
jg 0x45621c
jmp 0x45622f
mov ecx, dword [ebp - 0xdc3a0]
mov dword [ebp + ecx*4 - 0x13c], 0
jmp 0x4561d3
cmp dword [ebp - 0xdc3a0], 0
jge 0x45623a
jmp 0x45623f
jmp 0x455f84
lea edx, [ebp - 0xdc3ac]
push edx
push 0x48d
mov ecx, dword [ebp - 0xdc440]
call fcn.00542213
lea ecx, [ebp - 0xdc3ac]
call fcn.0052f0e0
push eax
call fcn.00556f56
add esp, 4
mov dword [ebp - 0x7a848], eax
lea eax, [ebp - 0xdc3ac]
push eax
push 0x425
mov ecx, dword [ebp - 0xdc440]
call fcn.00542213
lea ecx, [ebp - 0xdc3ac]
call fcn.00415630
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3f8], eax
mov eax, dword [ebp - 0xdc3f8]
mov dword [ebp - 0xdc350], eax
lea ecx, [ebp - 0xdc3ac]
call fcn.00415630
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00534acf
add esp, 4
mov dword [ebp - 0xdc3fc], eax
mov eax, dword [ebp - 0xdc3fc]
mov dword [ebp - 0x7a568], eax
mov ecx, dword [ebp - 0x7a568]
push ecx
mov edx, dword [ebp - 0xdc350]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0xdc400], esp
lea eax, [ebp - 0xdc3ac]
push eax
call fcn.00415510
mov dword [ebp - 0xdc460], eax
call fcn.00403ee0
add esp, 0xc
mov dword [ebp - 0xdc464], eax
mov ecx, dword [ebp - 0xdc464]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x7a7cc], 0
mov dword [ebp - 0x7a86c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x7a844], 0
jmp 0x456372
mov edx, dword [ebp - 0x7a844]
add edx, 1
mov dword [ebp - 0x7a844], edx
mov eax, dword [ebp - 0x7a844]
cmp eax, dword [ebp - 0x14]
jge 0x456390
mov ecx, dword [ebp - 0x7a844]
mov dword [ebp + ecx*4 - 0xdc34c], 0
jmp 0x456363
mov dword [ebp - 0x7a844], 0
jmp 0x4563ab
mov edx, dword [ebp - 0x7a844]
add edx, 1
mov dword [ebp - 0x7a844], edx
cmp dword [ebp - 0x7a844], 0x64
jge 0x4563c7
mov eax, dword [ebp - 0x7a844]
mov dword [ebp + eax*4 - 0x61e44], 0
jmp 0x45639c
push 1
push 0
push 0x413
mov ecx, dword [ebp - 0xdc440]
call fcn.005428ae
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 1
jge 0x4563f4
mov dword [ebp - 0x148], 1
mov ecx, dword [ebp - 0xdc440]
add ecx, 0x669dc
call fcn.005214c0
mov dword [ebp - 0x7a4f8], 0
mov dword [ebp - 0x144], 0
jmp 0x45642a
mov ecx, dword [ebp - 0x144]
add ecx, 1
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0xdc440]
mov eax, dword [ebp - 0x144]
cmp eax, dword [edx + 0x63ae8]
jge 0x456837
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0xdc440]
mov eax, dword [edx + ecx*4 + 0x63aec]
sub eax, 1
mov dword [ebp - 0xdc3b0], eax
jns 0x456462
jmp 0x45641b
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0xdc440]
mov eax, dword [ebp - 0xdc440]
mov ecx, dword [edx + ecx*4 + 0x63aec]
cmp ecx, dword [eax + 0x65ab0]
jle 0x456485
jmp 0x45641b
mov dword [ebp - 0xdc3a0], 0
jmp 0x4564a0
mov edx, dword [ebp - 0xdc3a0]
add edx, 1
mov dword [ebp - 0xdc3a0], edx
cmp dword [ebp - 0xdc3a0], 0xa
jge 0x4564bc
mov eax, dword [ebp - 0xdc3a0]
mov dword [ebp + eax*4 - 0x7a8bc], 0
jmp 0x456491
push 0xb
lea ecx, [ebp - 0x7a8bc]
push ecx
mov edx, dword [ebp - 0xdc440]
mov eax, dword [edx + 0x65ab4]
mov ecx, dword [ebp - 0xdc440]
mov edx, dword [ecx + 0x65a58]
mov ecx, dword [ebp - 0x144]
mov esi, dword [ebp - 0xdc440]
mov ecx, dword [esi + ecx*4 + 0x63aec]
mov edx, dword [edx + eax*4]
lea eax, [edx + ecx*4]
push ecx
mov ecx, esp
mov dword [ebp - 0xdc404], esp
push eax
call fcn.00415510
mov dword [ebp - 0xdc468], eax
call fcn.00406160
add esp, 0xc
mov dword [ebp - 0xdc46c], eax
mov ecx, dword [ebp - 0xdc46c]
mov dword [ebp - 0x7a4f0], ecx
cmp dword [ebp - 0x7a4f0], 9
je 0x456533
jmp 0x45641b
mov dword [ebp - 0xdc3b4], 0
mov dword [ebp - 0x7a4ec], 0
mov dword [ebp - 0x7a844], 0
jmp 0x456562
mov edx, dword [ebp - 0x7a844]
add edx, 1
mov dword [ebp - 0x7a844], edx
mov eax, dword [ebp - 0x7a844]
cmp eax, dword [ebp - 0x14]
jge 0x45676c
mov dword [ebp - 0xdc3b8], 0
mov dword [ebp - 0xf4], 0
jmp 0x456596
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
cmp dword [ebp - 0xf4], 5
jge 0x456671
mov edx, dword [ebp - 0xf4]
shl edx, 1
mov dword [ebp - 0xdc3bc], edx
mov eax, dword [ebp - 0xdc3bc]
add eax, 1
mov dword [ebp - 0xdc3c4], eax
mov dword [ebp - 0xdc3c0], 0
mov dword [ebp - 0xdc3a0], 0
jmp 0x4565e5
mov ecx, dword [ebp - 0xdc3a0]
add ecx, 1
mov dword [ebp - 0xdc3a0], ecx
mov edx, dword [ebp - 0xdc3a0]
cmp edx, dword [ebp - 0xec]
jge 0x456654
mov eax, dword [ebp - 0x7a844]
mov ecx, dword [ebp - 0x7a830]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0xdc3a0]
movsx ecx, word [edx + eax*2]
mov edx, dword [ebp - 0xdc3bc]
cmp ecx, dword [ebp + edx*4 - 0x7a8bc]
je 0x456643
mov eax, dword [ebp - 0x7a844]
mov ecx, dword [ebp - 0x7a830]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0xdc3a0]
movsx ecx, word [edx + eax*2]
mov edx, dword [ebp - 0xdc3c4]
cmp ecx, dword [ebp + edx*4 - 0x7a8bc]
jne 0x456652
mov eax, dword [ebp - 0xdc3c0]
add eax, 1
mov dword [ebp - 0xdc3c0], eax
jmp 0x4565d6
cmp dword [ebp - 0xdc3c0], 1
je 0x45666c
mov ecx, dword [ebp - 0xdc3b8]
add ecx, 1
mov dword [ebp - 0xdc3b8], ecx
jmp 0x456587
cmp dword [ebp - 0xdc3b8], 1
jl 0x45671c
cmp dword [ebp - 0xdc3b8], 4
jg 0x45671c
mov edx, dword [ebp - 0xdc3b4]
add edx, 1
mov dword [ebp - 0xdc3b4], edx
push 0
push 0
push 2
push 0
push 0
mov eax, dword [ebp - 0x7a834]
push eax
mov ecx, dword [ebp - 0x7a844]
mov edx, dword [ebp - 0x7a830]
mov eax, dword [edx + ecx*4]
push eax
lea ecx, [ebp - 0x7a4ec]
push ecx
mov edx, dword [ebp - 0x61cb4]
push edx
call fcn.00401a50
add esp, 0x24
mov eax, dword [ebp - 0xdc3b4]
cdq
idiv dword [ebp - 0x148]
test edx, edx
jne 0x4566ff
push 0x57e4c4
lea eax, [ebp - 0x7a4ec]
push eax
mov ecx, dword [ebp - 0x61cb4]
push ecx
call fcn.00401a00
add esp, 0xc
jmp 0x45671a
push 0x57e4c8
lea edx, [ebp - 0x7a4ec]
push edx
mov eax, dword [ebp - 0x61cb4]
push eax
call fcn.00401a00
add esp, 0xc
jmp 0x456767
mov ecx, dword [ebp - 0x7a4f8]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x61cb0]
push edx
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x150]
push ecx
call fcn.00404130
add esp, 0x10
movzx edx, al
test edx, edx
je 0x456767
mov eax, dword [ebp - 0x7a844]
mov ecx, dword [ebp + eax*4 - 0xdc34c]
add ecx, 1
mov edx, dword [ebp - 0x7a844]
mov dword [ebp + edx*4 - 0xdc34c], ecx
jmp 0x456553
mov eax, dword [ebp - 0x61cb4]
add eax, dword [ebp - 0x7a4ec]
mov byte [eax], 0
mov ecx, dword [ebp - 0x7a4f8]
add ecx, 1
mov dword [ebp - 0x7a4f8], ecx
mov edx, dword [ebp - 0x7a4f8]
push edx
mov eax, dword [ebp - 0xdc440]
mov ecx, dword [eax + 0x80]
push ecx
push 0x57e4cc
lea edx, [ebp - 0x7a864]
push edx
call fcn.00416090
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0xdc408], esp
mov eax, dword [ebp - 0x61cb4]
push eax
call fcn.00415530
mov dword [ebp - 0xdc470], eax
mov ecx, dword [ebp - 0xdc470]
mov dword [ebp - 0xdc474], ecx
mov byte [ebp - 4], 8
push ecx
mov ecx, esp
mov dword [ebp - 0xdc40c], esp
lea edx, [ebp - 0x7a864]
push edx
call fcn.00415510
mov dword [ebp - 0xdc478], eax
mov byte [ebp - 4], 7
call fcn.00402490
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0xdc410], esp
lea eax, [ebp - 0x7a864]
push eax
call fcn.00415510
mov dword [ebp - 0xdc47c], eax
mov ecx, dword [ebp - 0xdc440]
add ecx, 0x669dc
call fcn.00521270
jmp 0x45641b
mov dword [ebp - 0x7a4ec], 0
mov dword [ebp - 0x7a82c], 0
mov dword [ebp - 0x7a844], 0
jmp 0x456866
mov ecx, dword [ebp - 0x7a844]
add ecx, 1
mov dword [ebp - 0x7a844], ecx
mov edx, dword [ebp - 0x7a844]
cmp edx, dword [ebp - 0x14]
jge 0x45693f
mov eax, dword [ebp - 0x7a844]
mov ecx, dword [ebp + eax*4 - 0xdc34c]
push ecx
mov edx, dword [ebp - 0x7a7d8]
push edx
mov eax, dword [ebp - 0x7a7d0]
push eax
mov ecx, dword [ebp - 0x7a7dc]
push ecx
call fcn.00404130
add esp, 0x10
movzx edx, al
test edx, edx
je 0x45693a
mov eax, dword [ebp - 0x7a82c]
add eax, 1
mov dword [ebp - 0x7a82c], eax
push 0
push 0
push 2
push 0
push 0
mov ecx, dword [ebp - 0x7a834]
push ecx
mov edx, dword [ebp - 0x7a844]
mov eax, dword [ebp - 0x7a830]
mov ecx, dword [eax + edx*4]
push ecx
lea edx, [ebp - 0x7a4ec]
push edx
mov eax, dword [ebp - 0x61cb4]
push eax
call fcn.00401a50
add esp, 0x24
mov eax, dword [ebp - 0x7a82c]
cdq
idiv dword [ebp - 0x148]
test edx, edx
jne 0x45691f
push 0x57e4d8
lea ecx, [ebp - 0x7a4ec]
push ecx
mov edx, dword [ebp - 0x61cb4]
push edx
call fcn.00401a00
add esp, 0xc
jmp 0x45693a
push 0x57e4dc
lea eax, [ebp - 0x7a4ec]
push eax
mov ecx, dword [ebp - 0x61cb4]
push ecx
call fcn.00401a00
add esp, 0xc
jmp 0x456857
mov eax, dword [ebp - 0x7a82c]
cdq
idiv dword [ebp - 0x148]
test edx, edx
je 0x45696b
push 0x57e4e0
lea edx, [ebp - 0x7a4ec]
push edx
mov eax, dword [ebp - 0x61cb4]
push eax
call fcn.00401a00
add esp, 0xc
mov ecx, dword [ebp - 0x61cb4]
add ecx, dword [ebp - 0x7a4ec]
mov byte [ecx], 0
mov edx, dword [ebp - 0x61cb4]
push edx
mov ecx, dword [ebp - 0xdc440]
add ecx, 0x6624c
call fcn.0054299a
mov eax, dword [ebp - 0x7a82c]
push eax
push 0x57e4e4
lea ecx, [ebp - 0xdc3ac]
push ecx
call fcn.00416090
add esp, 0xc
lea ecx, [ebp - 0xdc3ac]
call fcn.0052f0e0
push eax
push 0x4e6
mov ecx, dword [ebp - 0xdc440]
call fcn.00542905
mov edx, dword [ebp - 0x150]
mov dword [ebp - 0xdc414], edx
mov eax, dword [ebp - 0xdc414]
push eax
call fcn.00534ac4
add esp, 4
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0xdc418], ecx
mov edx, dword [ebp - 0xdc418]
push edx
call fcn.00534ac4
add esp, 4
mov eax, dword [ebp - 0x7a7dc]
mov dword [ebp - 0xdc41c], eax
mov ecx, dword [ebp - 0xdc41c]
push ecx
call fcn.00534ac4
add esp, 4
mov edx, dword [ebp - 0x7a7d0]
mov dword [ebp - 0xdc420], edx
mov eax, dword [ebp - 0xdc420]
push eax
call fcn.00534ac4
add esp, 4
mov ecx, dword [ebp - 0x7a83c]
mov dword [ebp - 0xdc424], ecx
mov edx, dword [ebp - 0xdc424]
push edx
call fcn.00534ac4
add esp, 4
mov eax, dword [ebp - 0x7a4e8]
mov dword [ebp - 0xdc428], eax
mov ecx, dword [ebp - 0xdc428]
push ecx
call fcn.00534ac4
add esp, 4
mov edx, dword [ebp - 0x61cb4]
mov dword [ebp - 0xdc42c], edx
mov eax, dword [ebp - 0xdc42c]
push eax
call fcn.00534ac4
add esp, 4
mov dword [ebp - 0x154], 0
jmp 0x456aa1
mov ecx, dword [ebp - 0x154]
add ecx, 1
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x154]
cmp edx, dword [ebp - 0x14]
jge 0x456ad2
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x7a830]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0xdc430], edx
mov eax, dword [ebp - 0xdc430]
push eax
call fcn.00534ac4
add esp, 4
jmp 0x456a92
mov ecx, dword [ebp - 0x7a830]
mov dword [ebp - 0xdc434], ecx
mov edx, dword [ebp - 0xdc434]
push edx
call fcn.00534ac4
add esp, 4
mov eax, dword [ebp - 0xdc350]
mov dword [ebp - 0xdc438], eax
mov ecx, dword [ebp - 0xdc438]
push ecx
call fcn.00534ac4
add esp, 4
mov edx, dword [ebp - 0x7a568]
mov dword [ebp - 0xdc43c], edx
mov eax, dword [ebp - 0xdc43c]
push eax
call fcn.00534ac4
add esp, 4
call fcn.00415420
mov dword [ebp - 0xdc480], eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xdc480]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xdc480]
mov eax, dword [edx + 0x9c]
call eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x7a860]
call fcn.00536813
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xdc3a4]
call fcn.0052ee60
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x158]
call fcn.0052ee60
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xdc3a8]
call fcn.0052ee60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7a864]
call fcn.0052ee60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7a828]
call fcn.0052ee60
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7a868]
call fcn.0052ee60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc3ac]
call fcn.0052ee60
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.00556710
mov esp, ebp
pop ebp
ret