Function at 0x47dc10
Capabilities:
Check if file exists
Delete directory
Delete file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e3cc1
mov eax, dword fs:[0]
push eax
sub esp, 0x2ac
mov eax, dword [0x66c0e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1cc], edi
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x27c], ecx
call fcn.004b5c24
xor ecx, ecx
xor esi, esi
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x47dc74
push 0x80004005
call fcn.004047e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 4], esi
call fcn.004b5c24
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x47dca3
push 0x80004005
call fcn.004047e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c4], eax
mov byte [ebp - 4], 1
call fcn.004b5c24
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x47dcd3
push 0x80004005
call fcn.004047e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20c], eax
mov dword [ebp - method.CArray_int__int_.virtual_0], vtable.CArray_struct_tagBinActorItemDat__struct_tagBinActorItemDat_.0
mov dword [ebp - 0x260], esi
mov dword [ebp - 0x254], esi
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], esi
mov dword [ebp - 0x60], vtable.CArray_struct_tagBinListItemDat__struct_tagBinListItemDat_.0
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x4c], vtable.CArray_class_CBinAutoItem__class_CBinAutoItem_.0
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], esi
xor ecx, ecx
mov byte [ebp - 4], 4
mov word [ebp - 0x218], cx
mov byte [ebp - 0x216], cl
mov dword [ebp - 0x215], ecx
call fcn.004b5c24
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x47dd60
push 0x80004005
call fcn.004047e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x204], eax
mov byte [ebp - 4], 5
call fcn.004b5c24
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x47dd90
push 0x80004005
call fcn.004047e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 6
call fcn.004b5c24
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x47ddc0
push 0x80004005
call fcn.004047e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x210], eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x1f8], esi
call fcn.004b5c24
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x47ddfc
push 0x80004005
call fcn.004047e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x22c], ebx
mov byte [ebp - 4], 8
call fcn.004b5c24
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x47de2c
push 0x80004005
call fcn.004047e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x200], eax
mov dword [ebp - method.CArray_int__int_.virtual_0], vtable.CArray_class_CFileMd5__class_CFileMd5__.0
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x26c], esi
mov dword [ebp - 0x270], esi
movzx eax, word [edi]
mov byte [ebp - 4], 0xa
cmp eax, 1
jb 0x47fa75
mov ecx, 0xfe
cmp ax, cx
ja 0x47fa75
push esi
call fcn.005bff3e
push 0x154
lea edx, [ebp - 0x1c0]
push esi
push edx
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x220], esi
xor ebx, ebx
call fcn.005bb320
mov dx, word [edi + 4]
xor eax, eax
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], eax
mov ax, word [edi + 6]
mov word [ebp - 0x64], ax
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x48]
mov word [ebp - 0x68], cx
mov cl, byte [edi + 2]
mov word [ebp - 0x66], dx
mov dl, byte [edi + 3]
add esp, 0x10
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x1f8], esi
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x24c], esi
mov dword [ebp - 0x250], esi
mov dword [ebp - 0x6c], 0x1004c4c
mov byte [ebp - 0x62], cl
mov byte [ebp - 0x61], dl
cmp eax, esi
je 0x47df51
push eax
call fcn.004a803d
add esp, 4
mov dword [ebp - 0x48], esi
movzx eax, word [edi]
push eax
lea ecx, [ebp - 0x20c]
push str._04x
push ecx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], esi
call fcn.004065c0
add esp, 0xc
push 0x66dadc
lea ecx, [ebp - 0x1c4]
call fcn.00406510
mov edx, dword [ebp - 0x1c4]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x47e13c
mov eax, dword [ebp - 0x1c4]
cmp dword [eax - 4], 1
jle 0x47dfb1
mov ecx, eax
mov edx, dword [ecx - 0xc]
push edx
lea ecx, [ebp - 0x1c4]
call fcn.00405c00
mov eax, dword [ebp - 0x1c4]
push esi
push eax
call fcn.004804b0
add esp, 8
test eax, eax
jne 0x47e13c
lea ecx, [ebp - 0x210]
push ecx
push 0x136
mov ecx, 0x66d9e8
call fcn.00440520
mov eax, dword [ebp - 0x1c4]
cmp dword [eax - 4], 1
jle 0x47e000
mov edx, dword [eax - 0xc]
push edx
lea ecx, [ebp - 0x1c4]
call fcn.00405c00
mov eax, dword [ebp - 0x1c4]
push eax
mov eax, dword [ebp - 0x210]
push eax
lea ecx, [ebp - 0x204]
push str._s__s
push ecx
call fcn.004065c0
add esp, 0x10
lea edx, [ebp - 0x224]
push edx
push 0xcf
mov ecx, 0x66d9e8
call fcn.00440520
mov ebx, dword [ebp - 0x204]
cmp dword [ebx - 4], 1
mov edi, dword [ebp - 0x224]
jle 0x47e059
mov eax, dword [ebx - 0xc]
push eax
lea ecx, [ebp - 0x204]
call fcn.00405c00
mov ebx, dword [ebp - 0x204]
push 0x30
push edi
push ebx
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 9
call fcn.0047af40
mov eax, dword [ebp - 0x200]
add eax, 0xfffffff0
mov byte [ebp - 4], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47e099
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x22c]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47e0bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x210]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47e0e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x224]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47e10b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47e12b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 3
call fcn.00479b80
jmp 0x47fb72
lea ecx, [edi + 8]
push ecx
lea ecx, [ebp - 0x1c4]
call fcn.00406510
mov edx, dword [ebp - 0x1c4]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x47e2ab
mov eax, dword [ebp - 0x1c4]
cmp dword [eax - 4], 1
jle 0x47e17d
mov ecx, eax
mov edx, dword [ecx - 0xc]
push edx
lea ecx, [ebp - 0x1c4]
call fcn.00405c00
mov eax, dword [ebp - 0x1c4]
push esi
push eax
call fcn.004804b0
add esp, 8
test eax, eax
jne 0x47e2ab
lea ecx, [ebp - 0x210]
push ecx
push 0x136
mov ecx, 0x66d9e8
call fcn.00440520
mov eax, dword [ebp - 0x1c4]
mov ebx, 1
cmp dword [eax - 4], ebx
jle 0x47e1d0
mov edx, dword [eax - 0xc]
push edx
lea ecx, [ebp - 0x1c4]
call fcn.00405c00
mov eax, dword [ebp - 0x1c4]
push eax
mov eax, dword [ebp - 0x210]
push eax
lea ecx, [ebp - 0x204]
push str._s__s
push ecx
call fcn.004065c0
add esp, 0x10
lea edx, [ebp - 0x224]
push edx
push 0xcf
mov ecx, 0x66d9e8
call fcn.00440520
mov eax, dword [ebp - 0x204]
mov edi, dword [ebp - 0x224]
cmp dword [eax - 4], ebx
jle 0x47e228
mov eax, dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x204]
call fcn.00405c00
mov eax, dword [ebp - 0x204]
push 0x30
push edi
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 9
call fcn.0047af40
lea ecx, [ebp - 0x200]
call fcn.004273a0
lea ecx, [ebp - 0x22c]
call fcn.004273a0
lea ecx, [ebp - 0x210]
call fcn.004273a0
lea ecx, [ebp - 0x224]
call fcn.004273a0
lea ecx, [ebp - 0x204]
call fcn.004273a0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 3
call fcn.00479b80
lea ecx, [ebp - 0x20c]
call fcn.004273a0
lea ecx, [ebp - 0x1c4]
call fcn.004273a0
lea ecx, [ebp - 0x1c8]
call fcn.004273a0
jmp 0x47fbe3
lea ecx, [edi + 0x18]
call fcn.004c3db3
mov ecx, dword [ebp - 0x244]
cmp dword [ecx + 0xc], esi
je 0x47f84a
push 0x1c
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x248], esi
call fcn.004a800e
add esp, 4
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0xc
cmp eax, esi
je 0x47e2f5
mov ecx, eax
call fcn.00423500
mov dword [ebp - 0x234], eax
jmp 0x47e2fb
mov dword [ebp - 0x234], esi
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x234], esi
je 0x47e35a
lea edx, [ebp - 0x228]
push edx
mov ecx, edi
call fcn.0047b630
push str.cnvlog.txt
push eax
lea eax, [ebp - 0x230]
push eax
mov byte [ebp - 4], 0xd
call fcn.0040c560
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [ebp - 0x234]
push eax
mov byte [ebp - 4], 0xe
call fcn.00424490
lea ecx, [ebp - 0x230]
call fcn.004273a0
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xa
call fcn.004273a0
push 0x5fc4e8
lea ecx, [ebp - 0x1c4]
call fcn.00409ea0
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x1c4]
push edx
lea eax, [ebp - 0x230]
push eax
call fcn.00420650
push str..lpp
push eax
lea ecx, [ebp - 0x228]
push ecx
mov byte [ebp - 4], 0xf
call fcn.0040c560
add esp, 0x18
push eax
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0x10
call fcn.00406510
mov eax, dword [ebp - 0x228]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xf
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47e3d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x230]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47e3f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1c8]
cmp dword [ecx - 4], 1
jle 0x47e416
mov edx, ecx
mov eax, dword [edx - 0xc]
push eax
lea ecx, [ebp - 0x1c8]
call fcn.00405c00
mov ecx, dword [ebp - 0x1c8]
push 0x601150
push ecx
call fcn.005bc9d4
lea edx, [ebp - 0x20c]
mov dword [ebp - 0x208], eax
push edx
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x230]
push ecx
call fcn.00420650
push str..log
push eax
lea edx, [ebp - 0x228]
push edx
mov byte [ebp - 4], 0x11
call fcn.0040c560
add esp, 0x20
push eax
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x12
call fcn.00406510
mov eax, dword [ebp - 0x228]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x11
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47e496
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x230]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47e4bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x22c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 4]
cmp eax, esi
je 0x47f5c8
lea ebx, [ebx]
mov esi, eax
mov eax, dword [eax]
add esi, 8
mov dword [ebp - 0x240], eax
mov eax, dword [esi + 8]
sub eax, 2
mov ecx, 1
je 0x47f1b9
sub eax, ecx
je 0x47f135
sub eax, ecx
jne 0x47f55a
movzx eax, word [esi + 0xc]
mov ecx, dword [ebp - 0x248]
mov dl, byte [ecx + 2]
xor edi, edi
dec eax
mov dword [ebp - 0x1f0], edi
mov dword [ebp - 0x1f4], edi
mov dword [ebp - 0x1ec], edi
mov dword [ebp - 0x1e8], edi
mov dword [ebp - 0x1e4], edi
mov dword [ebp - 0x1e0], edi
mov dword [ebp - 0x1dc], edi
mov dword [ebp - 0x1d8], edi
mov dword [ebp - 0x1d4], edi
mov dword [ebp - 0x1d0], edi
mov byte [ebp - 0x1ed], dl
cmp eax, 0xa
ja case.default.0x47e569
jmp dword [eax*4 + 0x47fc04]
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax + 0x14]
movzx edx, byte [ebp - 0x62]
mov eax, dword [ebp - 0x1f8]
push ecx
mov ecx, dword [ebp - 0x1fc]
push edx
push eax
push ecx
lea edx, [ebp - 0x1f4]
push esi
push edx
mov dword [ebp - 0x1d4], ebx
call fcn.0047dab0
mov edi, eax
and eax, 0xffffff
add esp, 0x18
add ebx, eax
jmp 0x47ea5a
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ecx + 0x14]
movzx eax, byte [ebp - 0x62]
mov ecx, dword [ebp - 0x1f8]
push edx
mov edx, dword [ebp - 0x1fc]
push eax
push ecx
push edx
lea eax, [ebp - 0x1f4]
push esi
push eax
mov dword [ebp - 0x1d4], ebx
call fcn.0047db20
add esp, 0x18
jmp 0x47ea4e
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0x14]
movzx ecx, byte [ebp - 0x62]
mov edx, dword [ebp - 0x1f8]
push eax
mov eax, dword [ebp - 0x1fc]
push ecx
push edx
push eax
lea ecx, [ebp - 0x1f4]
push esi
push ecx
mov dword [ebp - 0x1d4], ebx
call fcn.0047db70
mov edi, eax
mov edx, edi
and edx, 0xffffff
add esp, 0x18
add ebx, edx
jmp 0x47ea5a
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1fc]
push eax
push ecx
lea edx, [ebp - 0x1f4]
push esi
push edx
mov dword [ebp - 0x1d4], ebx
call fcn.00477e20
mov edi, eax
and eax, 0xffffff
add esp, 0x10
add ebx, eax
jmp 0x47ea5a
lea ecx, [ebp - 0x1f4]
push esi
push ecx
mov dword [ebp - 0x1d4], ebx
call fcn.00478540
mov edi, eax
mov edx, edi
and edx, 0xffffff
add esp, 8
add ebx, edx
jmp 0x47ea5a
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x1d4], ebx
cmp eax, 0x5200
je 0x47e6c0
cmp eax, 0x2030
je 0x47e6c0
mov ecx, dword [ebp - 0x1cc]
movzx edx, word [ecx + 0x10]
push edx
call fcn.00448220
mov ecx, 7
add esp, 4
cmp cx, ax
jne 0x47e703
mov dl, byte [ebp - 0x62]
and dl, 0x70
cmp dl, 0x70
jne 0x47e703
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x1f8]
lea edx, [ebp - 0x23c]
push edx
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0x250]
push eax
mov dword [ebp - 0x24c], ecx
lea ecx, [ebp - 0x1f4]
push esi
push ecx
call fcn.004785e0
jmp 0x47ea4b
movzx eax, byte [ebp - 0x62]
mov ecx, dword [ebp - 0x1f8]
lea edx, [ebp - 0x23c]
push edx
mov edx, dword [ebp - 0x1fc]
push eax
push ecx
push edx
lea eax, [ebp - 0x1f4]
push esi
push eax
call fcn.0047a340
add esp, 0x18
jmp 0x47ea4e
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0x14]
movzx ecx, byte [ebp - 0x62]
mov edx, dword [ebp - 0x1f8]
push eax
mov eax, dword [ebp - 0x1fc]
push ecx
push edx
push eax
lea ecx, [ebp - 0x1f4]
push esi
push ecx
mov dword [ebp - 0x1d4], ebx
call fcn.0047dbc0
mov edi, eax
mov edx, edi
and edx, 0xffffff
add esp, 0x18
add ebx, edx
jmp 0x47ea5a
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1fc]
push eax
push ecx
lea edx, [ebp - 0x1f4]
push esi
push edx
mov dword [ebp - 0x1d4], ebx
call fcn.00477fa0
mov edi, eax
and eax, 0xffffff
add esp, 0x10
add ebx, eax
jmp 0x47ea5a
mov ecx, dword [ebp - 0x1cc]
movzx edx, word [ecx + 0x10]
push edx
mov dword [ebp - 0x1d4], ebx
call fcn.00448220
mov ecx, 7
add esp, 4
cmp cx, ax
jne 0x47e95e
lea edi, [esi + 0x14]
push edi
call fcn.004781f0
add esp, 4
test eax, eax
je 0x47e95e
push edi
lea ecx, [ebp - 0x200]
call fcn.00415540
lea ecx, [ebp - 0x2b8]
call fcn.00479d60
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x228]
push eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x2b8], edx
call fcn.0047b630
push eax
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 0x15
call fcn.00406510
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x14
call fcn.004273a0
lea ecx, [ebp - 0x200]
push ecx
lea ecx, [ebp - 0x2b4]
call fcn.00406510
movzx ecx, word [esi + 0x11a]
mov edx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x2a8], edx
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], ecx
call fcn.0041c460
test eax, eax
je 0x47e905
mov edx, dword [ebp - 0x234]
push edx
lea eax, [ebp - 0x2b8]
push eax
call fcn.00424000
add esp, 8
cmp eax, 1
jne 0x47e8ee
mov ecx, dword [ebp - 0x1cc]
call fcn.0047b6d0
lea ecx, [ebp - 0x2b8]
push ecx
push edi
call fcn.00422b70
add esp, 8
test eax, eax
jle 0x47e905
lea edx, [ebp - 0x288]
push edx
lea ecx, [ebp - 0x200]
call fcn.00406510
mov edi, dword [ebp - 0x234]
test edi, edi
je 0x47e905
lea eax, [ebp - 0x2b8]
push eax
mov ecx, edi
call fcn.00424750
push 0
mov ecx, edi
call fcn.00423d30
jmp 0x47e905
cmp eax, 2
jne 0x47e905
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x200]
call fcn.00406510
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x200]
push edx
push eax
lea ecx, [ebp - 0x1f4]
push esi
push ecx
call fcn.00478780
mov ecx, dword [ebp - 0x1cc]
add esp, 0x10
lea edx, [ebp - 0x200]
mov edi, eax
push edx
add ecx, 0x18
mov dword [ebp - 0x1d8], edi
call fcn.004c3f16
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0xa
call fcn.00479df0
mov edx, edi
and edx, 0xffffff
add ebx, edx
jmp case.default.0x47e569
movzx eax, word [ebp - 0x220]
mov ecx, dword [ebp - 0x248]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 0x1cc]
push eax
movzx eax, word [ebp - 0x238]
push edx
movzx edx, word [ecx]
push eax
push edx
lea eax, [ebp - 0x230]
push eax
call fcn.0041d940
add esp, 0x14
push eax
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 0x16
call fcn.00406510
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xa
call fcn.004273a0
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x200]
push ecx
mov ecx, dword [ebp - 0x62]
lea edx, [ebp - 0x23c]
push edx
mov edx, dword [ebp - 0x1f8]
push eax
mov eax, dword [ebp - 0x1fc]
push ecx
push edx
push eax
lea ecx, [ebp - 0x1f4]
push esi
push ecx
call fcn.0047b310
mov edi, eax
mov edx, edi
and edx, 0xffffff
add esp, 0x20
mov dword [ebp - 0x1d8], edi
add ebx, edx
jmp case.default.0x47e569
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1fc]
push eax
push ecx
lea edx, [ebp - 0x1f4]
push esi
push edx
mov dword [ebp - 0x1d4], ebx
call fcn.00477ea0
mov edi, eax
and eax, 0xffffff
add esp, 0x10
add ebx, eax
jmp 0x47ea5a
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x1fc]
push ecx
push edx
lea eax, [ebp - 0x1f4]
push esi
push eax
mov dword [ebp - 0x1d4], ebx
call fcn.00477f20
add esp, 0x10
mov edi, eax
mov ecx, edi
and ecx, 0xffffff
add ebx, ecx
mov dword [ebp - 0x1d8], edi
test edi, edi
je 0x47f55a
mov edx, edi
shr edx, 0x18
mov byte [ebp - 0x1f4], dl
mov edx, dword [ebp - 0x1d0]
test edx, edx
je 0x47ea9a
mov eax, dword [ebp - 0x220]
mov word [ebp - 0x1f2], ax
inc eax
inc word [ebp - 0x1b4]
mov dword [ebp - 0x220], eax
jmp 0x47eaa6
mov eax, 0xffff
mov word [ebp - 0x1f2], ax
and edi, 0xff000000
cmp edi, 0x7000000
ja 0x47ee5a
je 0x47ee01
cmp edi, 0x4000000
ja 0x47ecbd
je 0x47ec9f
cmp edi, 0x1000000
je 0x47ec26
cmp edi, 0x2000000
je 0x47eb93
cmp edi, 0x3000000
jne 0x47f109
movzx ecx, byte [esi + 0x160]
mov eax, dword [ebp - 0x1cc]
mov byte [ebp - 0x1f3], cl
mov ecx, dword [eax + 0xc]
movzx eax, word [esi + 0xe]
push ecx
push eax
call fcn.00477d50
movzx ecx, byte [esi + 0x11a]
mov word [ebp - 0x1f0], ax
mov ax, word [esi + 0x10]
mov byte [ebp - 0x1ee], cl
mov cx, word [esi + 0x12]
mov word [ebp - 0x1ec], ax
mov eax, dword [esi + 0x1f4]
mov word [ebp - 0x1ea], cx
mov ecx, eax
sar eax, 0x18
sar ecx, 0x10
and al, 0x70
add esp, 8
cmp byte [edx], 4
mov byte [ebp - 0x1e8], cl
mov byte [ebp - 0x1e6], al
jne 0x47eb6a
or byte [ebp - 0x1e6], 0x80
mov dl, byte [esi + 0x15c]
mov al, byte [esi + 0x15d]
mov cl, byte [esi + 0x15e]
mov byte [ebp - 0x1e5], dl
mov byte [ebp - 0x1e4], al
mov byte [ebp - 0x1e3], cl
jmp 0x47f109
movzx edx, byte [esi + 0x160]
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax + 0xc]
mov byte [ebp - 0x1f3], dl
movzx edx, word [esi + 0xe]
push ecx
push edx
call fcn.00477d50
mov cx, word [esi + 0x10]
mov dx, word [esi + 0x12]
mov word [ebp - 0x1f0], ax
movzx eax, byte [esi + 0x11a]
mov byte [ebp - 0x1ee], al
mov eax, dword [esi + 0x11c]
push 0
push eax
mov word [ebp - 0x1ec], cx
mov word [ebp - 0x1ea], dx
call fcn.00437bf0
push eax
call fcn.0045aa10
movzx edx, byte [esi + 0x159]
mov cl, byte [esi + 0x158]
mov byte [ebp - 0x1e6], al
movzx eax, byte [esi + 0x15a]
add esp, 0x14
mov byte [ebp - 0x1e5], cl
mov byte [ebp - 0x1e4], dl
mov byte [ebp - 0x1e3], al
jmp 0x47f109
movzx ecx, byte [esi + 0x160]
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0xc]
mov byte [ebp - 0x1f3], cl
movzx ecx, word [esi + 0xe]
push eax
push ecx
call fcn.00477d50
movzx edx, byte [esi + 0x11a]
mov cx, word [esi + 0x12]
mov word [ebp - 0x1f0], ax
mov ax, word [esi + 0x10]
mov byte [ebp - 0x1ee], dl
movzx edx, byte [esi + 0x15c]
mov word [ebp - 0x1ea], cx
movzx ecx, byte [esi + 0x15e]
mov word [ebp - 0x1ec], ax
mov al, byte [esi + 0x15d]
add esp, 8
mov byte [ebp - 0x1e5], dl
mov byte [ebp - 0x1e4], al
mov byte [ebp - 0x1e3], cl
jmp 0x47f109
mov dx, word [ebp - 0x23c]
mov ax, word [esi + 0x12]
mov word [ebp - 0x1e0], dx
mov word [ebp - 0x1ea], ax
jmp 0x47f109
cmp edi, 0x5000000
je 0x47ed4d
cmp edi, 0x6000000
jne 0x47f109
movzx ecx, byte [esi + 0x160]
movzx edx, byte [esi + 0x11a]
lea eax, [esi + 0x11c]
push eax
mov byte [ebp - 0x1f3], cl
mov byte [ebp - 0x1e8], dl
mov byte [ebp - 0x1e7], 0
call fcn.00478050
movzx ecx, byte [esi + 0x168]
movzx edx, byte [esi + 0x158]
and cl, 0x70
add esp, 4
or al, cl
movzx ecx, byte [esi + 0x15a]
mov byte [ebp - 0x1e6], al
mov al, byte [esi + 0x159]
mov byte [ebp - 0x1e5], dl
mov dx, word [esi + 0x12]
mov byte [ebp - 0x1e4], al
mov byte [ebp - 0x1e3], cl
mov word [ebp - 0x1ea], dx
jmp 0x47f109
movzx eax, byte [esi + 0x11b]
movzx ecx, byte [esi + 0x11a]
lea edx, [esi + 0x11c]
push edx
mov byte [ebp - 0x1e8], al
mov byte [ebp - 0x1e7], cl
call fcn.00478050
movzx ecx, byte [esi + 0x168]
mov dl, byte [esi + 0x158]
mov edi, dword [esi + 0x1f8]
and cl, 0x70
or al, cl
movzx ecx, byte [esi + 0x15a]
mov byte [ebp - 0x1e6], al
movzx eax, byte [esi + 0x159]
mov byte [ebp - 0x1e5], dl
mov dx, word [esi + 0x12]
mov byte [ebp - 0x1e4], al
mov word [ebp - 0x1ea], dx
mov eax, edi
cdq
xor eax, edx
sub eax, edx
mov byte [ebp - 0x1e3], cl
cdq
mov ecx, 0x3c
idiv ecx
add esp, 4
mov byte [ebp - 0x1e2], dl
test edi, edi
jns 0x47ede1
or dl, 0x80
mov byte [ebp - 0x1e2], dl
test dword [esi + 0x168], 0x100
je 0x47edf6
or dl, 0x40
mov byte [ebp - 0x1e2], dl
mov byte [ebp - 0x1e1], al
jmp 0x47f109
mov al, byte [esi + 0x11a]
mov dx, word [ebp - 0x23c]
and al, 0xf
cmp dword [esi + 0x164], 0
mov word [ebp - 0x1e0], dx
mov byte [ebp - 0x1ee], al
je 0x47ee2e
or al, 0x80
mov byte [ebp - 0x1ee], al
mov ax, word [esi + 0x12]
mov cx, word [ebp - 0x250]
mov dx, word [ebp - 0x24c]
mov word [ebp - 0x1ea], ax
mov word [ebp - 0x1de], cx
mov word [ebp - 0x1dc], dx
jmp 0x47f109
cmp edi, 0xb000000
ja 0x47f015
je 0x47efcf
cmp edi, 0x8000000
je 0x47ef82
cmp edi, 0x9000000
jne 0x47f109
mov al, byte [esi + 0x160]
lea ecx, [esi + 0x11c]
push ecx
mov byte [ebp - 0x1f3], al
mov word [ebp - 0x1e8], 0
call fcn.00478050
mov dl, byte [esi + 0x168]
and dl, 0x70
or al, dl
add esp, 4
cmp byte [esi + 0x158], 0
mov byte [ebp - 0x1e6], al
mov byte [ebp - 0x1e5], 0
je 0x47eed0
mov byte [ebp - 0x1e5], 1
cmp byte [esi + 0x159], 0
je 0x47eee0
or byte [ebp - 0x1e5], 2
cmp byte [esi + 0x15a], 0
je 0x47eef0
or byte [ebp - 0x1e5], 4
mov cx, word [esi + 0x174]
movzx edx, word [esi + 0x178]
mov al, byte [esi + 0x16c]
shl cx, 6
or cx, word [esi + 0x176]
mov byte [ebp - 0x1e3], al
shl cx, 5
shr dx, 1
or cx, dx
movzx edx, word [esi + 0x12]
xor eax, eax
mov word [ebp - 0x1f0], ax
movzx eax, word [esi + 0x16e]
mov word [ebp - 0x1e0], cx
xor ecx, ecx
mov word [ebp - 0x1ec], cx
movzx ecx, word [esi + 0x170]
shl eax, 4
add eax, ecx
mov word [ebp - 0x1ea], dx
movzx edx, word [esi + 0x172]
shl eax, 5
add eax, edx
mov ecx, eax
mov byte [ebp - 0x1ee], al
shr ecx, 8
shr eax, 0x10
mov byte [ebp - 0x1e4], 5
mov byte [ebp - 0x1e1], al
jmp 0x47f103
movzx edx, byte [esi + 0x160]
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax + 0xc]
mov byte [ebp - 0x1f3], dl
movzx edx, word [esi + 0xe]
push ecx
push edx
call fcn.00477d50
mov cx, word [esi + 0x12]
movzx edx, byte [esi + 0x15c]
mov word [ebp - 0x1f0], ax
mov ax, word [esi + 0x10]
add esp, 8
mov word [ebp - 0x1ec], ax
mov word [ebp - 0x1ea], cx
jmp 0x47eb70
movzx edx, word [ebp - 0x23c]
mov al, byte [esi + 0x11a]
mov cx, word [esi + 0x12]
mov word [ebp - 0x1e0], dx
movzx edx, word [ebp - 0x250]
mov byte [ebp - 0x1ee], al
mov ax, word [ebp - 0x24c]
mov word [ebp - 0x1ea], cx
mov word [ebp - 0x1de], dx
mov word [ebp - 0x1dc], ax
jmp 0x47f109
cmp edi, 0xd000000
je 0x47f045
cmp edi, 0x10000000
jne 0x47f109
mov cl, byte [esi + 0x11a]
mov dx, word [esi + 0x12]
mov byte [ebp - 0x1ee], cl
mov word [ebp - 0x1ea], dx
jmp 0x47f109
movzx eax, byte [esi + 0x11b]
movzx ecx, byte [esi + 0x11a]
lea edx, [esi + 0x11c]
push edx
mov byte [ebp - 0x1e8], al
mov byte [ebp - 0x1e7], cl
call fcn.00478050
movzx ecx, byte [esi + 0x159]
mov dl, byte [esi + 0x15a]
mov byte [ebp - 0x1e6], al
movzx eax, byte [esi + 0x158]
mov byte [ebp - 0x1e5], al
movzx eax, word [esi + 0x12]
mov word [ebp - 0x1ea], ax
movzx eax, word [esi + 0x16e]
mov byte [ebp - 0x1e4], cl
movzx ecx, byte [esi + 0x16c]
mov byte [ebp - 0x1e3], dl
movzx edx, word [esi + 0x170]
shl eax, 4
add eax, edx
mov byte [ebp - 0x1f3], cl
movzx ecx, word [esi + 0x172]
shl eax, 5
add eax, ecx
mov edx, eax
shr edx, 0x10
mov ecx, eax
mov byte [ebp - 0x1e1], al
movzx eax, byte [esi + 0x1f4]
mov byte [ebp - 0x1ee], dl
mov dx, word [esi + 0x1f8]
add esp, 4
shr ecx, 8
mov word [ebp - 0x1f0], dx
mov word [ebp - 0x1ec], ax
mov byte [ebp - 0x1e2], cl
sub esp, 0x28
mov edi, esp
mov ecx, 0xa
lea esi, [ebp - 0x1f4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x264]
call fcn.00478930
mov eax, dword [ebp - 0x248]
inc word [eax + 0xc]
jmp 0x47f55a
movzx eax, word [ebp - 0x1b6]
movzx edx, word [esi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebp + eax*4 - 0x190]
mov word [eax + 4], dx
movzx edx, word [esi + 0xe]
mov word [eax + 6], dx
movzx edx, word [esi + 0x10]
mov word [eax + 8], dx
movzx edx, word [esi + 0x12]
mov word [eax + 0xa], dx
xor edx, edx
mov word [eax + 0xc], dx
movzx edx, byte [ebp - 0x1b6]
mov byte [eax], dl
movzx edx, byte [esi + 0x14]
mov byte [eax + 1], dl
movzx edx, byte [esi + 0x15]
add word [ebp - 0x28], cx
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x25c]
shl edx, 4
mov dword [eax + 0x10], edx
add word [ebp - 0x1b6], cx
movzx ecx, word [eax + 8]
movzx edx, word [eax + 0xa]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x1f8], edx
jmp 0x47f55a
cmp dword [ebp - 0x21c], 0
je 0x47f216
mov ax, word [edi + 4]
mov cx, word [edi + 6]
mov dl, byte [edi + 2]
mov ebx, dword [ebp - 0x21c]
mov word [ebp - 0x1bc], ax
lea eax, [ebp - 0x264]
mov word [ebp - 0x1ba], cx
push eax
lea ecx, [ebp - 0x1c0]
push ecx
push ebx
mov byte [ebp - 0x1b8], dl
call fcn.00478f50
push ebx
call fcn.005bcc87
add esp, 0x10
lea edx, [ebp - 0x278]
push edx
lea eax, [ebp - 0x38]
push eax
mov ecx, edi
call fcn.0047c430
cmp byte [ebp - 0x38], 0
je 0x47f248
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
sub esp, 0x14
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 8], ecx
mov cx, word [ebp - 0x28]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
lea ecx, [ebp - 0x60]
call fcn.004788c0
lea edx, [ebp - 0x264]
push edx
call fcn.00479b00
mov eax, dword [ebp - 0xa4]
add esp, 4
test eax, eax
je 0x47f26a
push eax
call fcn.005bb20e
add esp, 4
xor eax, eax
push 0x154
xor ebx, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x1c0]
push ebx
push eax
call fcn.005bb320
xor eax, eax
xor edx, edx
mov byte [ebp - 0xa0], al
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], eax
lea eax, [esi + 0xc]
add esp, 0xc
mov dword [ebp - 0x1c0], 0x100504c
mov word [ebp - 0x1b6], dx
mov dword [ebp - 0x220], ebx
cmp byte [eax], dl
je 0x47f337
push 0x32
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.005bc9f0
lea eax, [ebp - 0xa0]
add esp, 0xc
mov byte [ebp - 0x6e], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47f315
sub eax, edx
mov ecx, 1
lea ebx, [eax + 1]
mov dword [ebp - 0x220], 1
mov word [ebp - 0x1b0], cx
mov dword [ebp - 0x1b4], 0xffff0000
cmp byte [esi + 0x4d], 0
je 0x47f361
mov cx, word [ebp - 0x220]
mov edx, 1
mov word [ebp - 0x1b2], cx
mov word [ebp - 0x1b4], dx
xor eax, eax
mov word [ebp - 0x1b0], ax
movzx ecx, byte [esi + 0x155]
mov word [ebp - 0x1ae], cx
mov dx, word [esi + 0x156]
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
movzx eax, word [ebp - 0x238]
push eax
push ecx
mov word [ebp - 0x1ac], dx
lea edx, [ebp - 0x38]
push str._s_04x.lpb
push edx
call fcn.005bbf72
mov ax, word [ebp - 0x238]
xor ecx, ecx
lea edx, [ebp - 0x38]
mov word [ebp - 0x2a], ax
push edx
lea eax, [ebp - 0x1c4]
mov word [ebp - 0x28], cx
push eax
lea ecx, [ebp - 0x244]
push ecx
call fcn.0040c560
add esp, 0x1c
push eax
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0x13
call fcn.00406510
mov eax, dword [ebp - 0x244]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47f410
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c8]
cmp dword [eax - 4], 1
jle 0x47f431
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x1c8]
call fcn.00405c00
mov eax, dword [ebp - 0x1c8]
push 0x605390
push eax
call fcn.005bc9d4
mov dword [ebp - 0x21c], eax
xor eax, eax
mov edx, 0xffff
add esp, 8
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
cmp word [ebp - 0x1b2], dx
je 0x47f4d9
mov edx, dword [edi + 0x14]
movzx eax, word [ebp - 0x64]
movzx ecx, word [ebp - 0x66]
push edx
movzx edx, byte [ebp - 0x62]
push edx
push eax
push ecx
lea eax, [ebp - 0xc8]
push esi
push eax
mov dword [ebp - 0xa8], ebx
call fcn.0047dab0
mov dword [ebp - 0xac], eax
and eax, 0xffffff
add ebx, eax
mov eax, 1
add dword [ebp - 0x220], eax
add esp, 0x18
add word [ebp - 0x1b4], ax
mov ecx, 0x100
test word [esi + 0x158], cx
je 0x47f54b
movzx eax, byte [esi + 0x158]
movzx ecx, byte [esi + 0x15b]
mov dx, word [ebp - 0x238]
mov byte [ebp - 0x214], cl
movzx ecx, byte [esi + 0x15c]
mov byte [ebp - 0x216], al
movzx eax, byte [esi + 0x15d]
mov word [ebp - 0x218], dx
mov dl, byte [esi + 0x15a]
mov byte [ebp - 0x215], dl
mov byte [ebp - 0x212], al
mov eax, dword [ebp - 0x218]
mov byte [ebp - 0x213], cl
mov edx, dword [ebp - 0x214]
push edx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00479c60
mov eax, 1
add dword [ebp - 0x238], eax
add word [ebp - 0x68], ax
mov eax, dword [ebp - 0x240]
mov edi, dword [ebp - 0x1cc]
test eax, eax
jne 0x47e4e0
mov esi, dword [ebp - 0x21c]
test esi, esi
je 0x47f5c6
mov cx, word [edi + 4]
mov dx, word [edi + 6]
mov al, byte [edi + 2]
mov word [ebp - 0x1bc], cx
lea ecx, [ebp - 0x264]
mov word [ebp - 0x1ba], dx
push ecx
lea edx, [ebp - 0x1c0]
push edx
push esi
mov byte [ebp - 0x1b8], al
call fcn.00478f50
push esi
call fcn.005bcc87
add esp, 0x10
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x38]
push ecx
mov ecx, edi
call fcn.0047c430
xor esi, esi
lea edx, [ebp - 0x264]
push edx
call fcn.00479b00
mov eax, dword [ebp - 0xa4]
add esp, 4
cmp eax, esi
je 0x47f5f0
push eax
call fcn.005bb20e
add esp, 4
mov dword [ebp - 0xa4], esi
mov ebx, dword [ebp - 0x208]
cmp ebx, esi
je 0x47f64f
cmp byte [ebp - 0x38], 0
je 0x47f63c
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
sub esp, 0x14
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 8], ecx
mov cx, word [ebp - 0x28]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
lea ecx, [ebp - 0x60]
call fcn.004788c0
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x28], si
lea edx, [ebp - 0x6c]
push edx
push ebx
call fcn.00478e50
push ebx
call fcn.005bcc87
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x21c], eax
cmp eax, esi
jle 0x47f799
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x1c4]
push ecx
lea edx, [ebp - 0x240]
push edx
call fcn.00420650
push str..lpt
push eax
lea eax, [ebp - 0x208]
push eax
mov byte [ebp - 4], 0x17
call fcn.0040c560
add esp, 0x18
push eax
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0x18
call fcn.00406510
lea ecx, [ebp - 0x208]
call fcn.004273a0
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0xa
call fcn.004273a0
mov eax, dword [ebp - 0x1c8]
cmp dword [eax - 4], 1
jle 0x47f6d8
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x1c8]
call fcn.00405c00
mov edx, dword [ebp - 0x1c8]
push 0x601150
push edx
call fcn.005bc9d4
mov ebx, eax
add esp, 8
cmp ebx, esi
je 0x47f799
mov eax, dword [ebp - 0x21c]
push ebx
push 1
lea ecx, [ebp - 0x24]
push 7
mov dword [ebp - 0x20], eax
push ecx
mov dword [ebp - 0x24], 0x100544c
mov byte [ebp - 0x1e], 0
call fcn.005bfae8
xor esi, esi
add esp, 0x10
cmp dword [ebp - 0x21c], esi
jle 0x47f78e
test esi, esi
js 0x47fa70
cmp esi, dword [ebp - 0x44]
jge 0x47fa70
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + esi*8]
mov ecx, dword [ecx + esi*8 + 4]
mov dx, ax
mov word [ebp - 0x24], dx
mov edx, eax
mov dword [ebp - 0x218], eax
shr eax, 0x18
shr edx, 0x10
mov byte [ebp - 0x21], al
mov al, cl
push ebx
mov byte [ebp - 0x22], dl
mov edx, ecx
push 1
mov byte [ebp - 0x20], al
mov dword [ebp - 0x214], ecx
lea eax, [ebp - 0x24]
shr edx, 8
shr ecx, 0x10
push 7
push eax
mov byte [ebp - 0x1f], dl
mov byte [ebp - 0x1e], cl
call fcn.005bfae8
inc esi
add esp, 0x10
cmp esi, dword [ebp - 0x21c]
jl 0x47f725
push ebx
call fcn.005bcc87
add esp, 4
xor esi, esi
mov ebx, dword [ebp - 0x234]
push ebx
mov ecx, edi
call fcn.0047b820
cmp ebx, esi
je 0x47f7c8
cmp dword [ebx + 0x10], esi
jle 0x47f7b7
mov ecx, edi
call fcn.0047b6d0
push esi
mov ecx, ebx
call fcn.00423d30
push 1
mov ecx, ebx
call fcn.0047b5a0
lea ecx, [ebp - 0x208]
push ecx
mov ecx, edi
call fcn.0047b630
mov eax, dword [eax]
push eax
mov byte [ebp - 4], 0x19
call fcn.0041d120
mov ebx, eax
mov eax, dword [ebp - 0x208]
add eax, 0xfffffff0
add esp, 4
mov byte [ebp - 4], 0xa
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47f80d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp ebx, esi
je 0x47f84a
lea ecx, [ebp - 0x208]
push ecx
mov ecx, edi
call fcn.0047b630
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov eax, dword [ebp - 0x208]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47f84a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c3d0
test eax, eax
je 0x47f901
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x1c4]
push edx
lea eax, [ebp - 0x240]
push eax
call fcn.00420650
push str..lpp
push eax
lea ecx, [ebp - 0x208]
mov bl, 0x1a
push ecx
mov byte [ebp - 4], bl
call fcn.0040c560
add esp, 0x18
push eax
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0x1b
call fcn.00406510
mov eax, dword [ebp - 0x208]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47f8c0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x240]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47f8e6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1c8]
push 0x100
push 0xfa000
push 3
push ecx
call fcn.00443500
add esp, 0x10
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 9
call fcn.0047af40
mov eax, dword [ebp - 0x200]
add eax, 0xfffffff0
mov byte [ebp - 4], 8
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47f936
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x22c]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47f95c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x210]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47f982
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x224]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47f9a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x204]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47f9ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 3
call fcn.00479b80
mov eax, dword [ebp - 0x260]
mov byte [ebp - 4], 2
cmp eax, esi
je 0x47f9f1
push eax
call fcn.004a803d
add esp, 4
mov eax, dword [ebp - 0x20c]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47fa17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47fa3d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c8]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47fa66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x47fbe5
call fcn.004a815b
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 9
call fcn.0047af40
mov eax, dword [ebp - 0x200]
add eax, 0xfffffff0
mov byte [ebp - 4], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47faaa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47faca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x210]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47faf0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x224]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47fb16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x204]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47fb3c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x4c], vtable.CArray_class_CBinAutoItem__class_CBinAutoItem_.0
cmp eax, esi
je 0x47fb57
push eax
call fcn.004a803d
add esp, 4
mov eax, dword [ebp - 0x5c]
mov byte [ebp - 4], 3
mov dword [ebp - 0x60], vtable.CArray_struct_tagBinListItemDat__struct_tagBinListItemDat_.0
cmp eax, esi
je 0x47fb72
push eax
call fcn.004a803d
add esp, 4
mov eax, dword [ebp - 0x20c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 1
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47fb98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c4]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 0
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47fbbe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c8]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov dword [ebp - 4], edx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47fbe3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005bb30e
mov esp, ebp
pop ebp
ret 8