Function at 0x40bd51
Capabilities:
Delete file
Hide graphical window
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x288
mov word [ebp - 0xd4], 1
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0xdc], 1
mov dword [ebp - 0xd8], 1
mov dword [ebp - 4], 1
xor eax, eax
mov ax, word [0x418a84]
test eax, eax
je 0x40bda7
cmp dword [0x418a9c], 0
jne 0x40bdb1
mov dword [ebp - 0xd8], 0
push 0
call fcn.0040a5b0
add esp, 4
call fcn.0040b022
xor ecx, ecx
mov cx, word [0x418a80]
mov dword [0x418928], ecx
push 0x32
lea edx, [ebp - 0x38]
push edx
push 0xa
mov eax, dword [0x4189d8]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
push 0
push 0xb
call fcn.00408150
add esp, 8
test eax, eax
jne 0x40beb8
movsx ecx, word [0x418922]
cmp ecx, 8
jne 0x40be11
push 0
push 0xb
call fcn.00408150
add esp, 8
jmp 0x40bdf7
movsx edx, word [0x418922]
test edx, edx
jne 0x40be21
jmp 0x40beb8
xor eax, eax
mov ax, word [0x418a80]
cmp eax, 3
jne 0x40be3b
xor ecx, ecx
mov cx, word [0x418aea]
test ecx, ecx
je 0x40be49
xor edx, edx
mov dx, word [0x418a80]
cmp edx, 3
je 0x40be8b
push 1
push 0x418a44
lea eax, [ebp - 0x38]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
je 0x40be89
push 0
push 0xc
call fcn.00408150
add esp, 8
push 0
call fcn.0040ae0e
add esp, 4
mov word [0x418ae8], 0
mov ax, 2
jmp 0x40dd6a
jmp 0x40beb3
push 0
push 0xc
call fcn.00408150
add esp, 8
push 0
call fcn.0040ae0e
add esp, 4
mov word [0x418ae8], 0
mov ax, 5
jmp 0x40dd6a
jmp 0x40bde3
push 0
push 0xd
call fcn.00408150
add esp, 8
test eax, eax
jne 0x40bedc
push 0
push 0xc
call fcn.00408150
add esp, 8
xor ax, ax
jmp 0x40dd6a
push 0
push 0x80
push 2
push 0
push 1
push 0xc0000000
push 0x4176a4
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x19c], eax
call fcn.0040b61e
cmp dword [ebp - 0xd8], 0
je 0x40bf2d
xor ecx, ecx
mov cx, word [0x4188e0]
xor edx, edx
mov dx, word [0x418a8a]
cmp ecx, edx
jne 0x40bf2d
mov dword [ebp - 0xd8], 0
mov dword [0x4185c0], 0
mov eax, dword [0x418a0c]
and eax, 0x100
test eax, eax
je 0x40bf54
push sym.Web.exe__ScannerCallback_8
push 0x16
call fcn.00408150
add esp, 8
push 0x4188c0
push 9
call fcn.00408150
add esp, 8
test eax, eax
je 0x40dcac
push 0x418800
push 0x10
call fcn.00408150
add esp, 8
test eax, eax
je 0x40dca1
mov ecx, dword [0x418af4]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [0x4188c0]
mov dword [0x4188f0], edx
mov eax, dword [0x4188c4]
mov dword [0x4188b0], eax
mov ecx, dword [0x4188c8]
mov dword [0x4188ec], ecx
push 0
push 0x17
call fcn.00408150
add esp, 8
mov edx, dword [0x41892c]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1c8]
xor edx, edx
div dword [0x4188b0]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1cc]
imul eax, dword [0x4188b0]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1c8]
push ecx
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
je 0x40dc9f
push 0
push 0x11
call fcn.00408150
add esp, 8
test eax, eax
je 0x40dc7c
mov edx, dword [ebp - 0x1c8]
mov dword [0x418928], edx
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x1c0]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [0x418924], eax
push 5
push 0x408
mov edx, dword [0x418e44]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 5
push 0x406
mov eax, dword [0x418e44]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 5
push 0x40b
mov ecx, dword [0x418e44]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor edx, edx
mov dx, word [0x418ae8]
or edx, 1
mov word [0x418ae8], dx
mov eax, dword [0x4188c8]
add eax, dword [0x4185c0]
mov dword [0x4185b8], eax
call fcn.0040a6b2
push 8
call fcn.0040a5b0
add esp, 4
cmp dword [ebp - 0xd8], 0
jne 0x40c1cb
xor ecx, ecx
mov cx, word [0x418a84]
test ecx, ecx
je 0x40c1cb
cmp dword [ebp - 4], 0
je 0x40c1cb
lea edx, [ebp - 0x198]
mov dword [0x4189e4], edx
mov eax, dword [0x4188f0]
mov dword [ebp - 0x198], eax
mov ecx, dword [0x4188b0]
mov dword [ebp - 0x194], ecx
mov edx, dword [0x4188ec]
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x180], 0x8002
mov ax, word [0x418a84]
mov word [ebp - 0x170], ax
mov ecx, dword [0x4188c4]
shl ecx, 2
mov edx, dword [ebp - 0x1c8]
sub edx, ecx
mov dword [ebp - 0x17c], edx
mov eax, dword [0x418924]
mov dword [ebp - 0x178], eax
mov word [ebp - 0x16e], 5
mov ecx, dword [0x418924]
mov dword [ebp - 0x106], ecx
mov dword [0x4189e0], 0x1b
push 0x4189e0
call dword [0x41890c]
test eax, eax
jne 0x40c1cb
mov dword [ebp - 0x1a0], 1
mov edx, dword [0x4188b0]
shl edx, 1
mov eax, dword [ebp - 0x1c8]
sub eax, edx
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x1cc]
sub ecx, 2
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x1c4]
mov dword [0x418928], edx
mov eax, dword [ebp - 0xd4]
and eax, 0xffff
cmp eax, 1
jne 0x40c3d1
cmp dword [0x4188c8], 0
je 0x40c3d1
push 0
push 0x12
call fcn.00408150
add esp, 8
test eax, eax
je 0x40c3ac
cmp dword [ebp - 0x1a0], 0
je 0x40c2d1
mov dword [0x4189e0], 0x1d
lea ecx, [ebp - 0x198]
mov dword [0x4189e4], ecx
cmp dword [ebp - 0xdc], 0
je 0x40c24e
mov edx, dword [0x4188b0]
shl edx, 1
mov eax, dword [ebp - 0x1c4]
sub eax, edx
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0xdc], 0
jmp 0x40c281
mov ecx, dword [0x4188c8]
sub ecx, dword [0x41892c]
test ecx, ecx
jne 0x40c275
mov edx, dword [0x4188b0]
mov eax, dword [ebp - 0x1c4]
lea ecx, [eax + edx*2]
mov dword [ebp - 0x17c], ecx
jmp 0x40c281
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x17c], edx
push 0x4189e0
call dword [0x41890c]
test eax, eax
je 0x40c2bc
mov dword [ebp - 0x1a0], 0
lea eax, [ebp - 0x198]
mov dword [0x4189e4], eax
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
jmp 0x40c2cf
mov ecx, dword [0x4189f8]
imul ecx, dword [0x4188b0]
mov dword [0x418928], ecx
jmp 0x40c2e4
mov edx, dword [0x41892c]
imul edx, dword [0x4188b0]
mov dword [ebp - 0x17c], edx
mov eax, dword [0x41892c]
push eax
call fcn.0040a747
add esp, 4
call fcn.0040a8ca
test eax, eax
je 0x40c33d
mov word [ebp - 0xd4], 2
cmp dword [ebp - 0x1a0], 0
je 0x40c338
lea ecx, [ebp - 0x198]
mov dword [0x4189e4], ecx
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
mov dword [ebp - 0x1a0], 0
jmp 0x40c3d1
push 0
lea edx, [ebp - 0x1d0]
push edx
mov eax, dword [ebp - 0x17c]
push eax
mov ecx, dword [0x418924]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [0x4188c8]
sub eax, dword [0x41892c]
mov dword [0x4188c8], eax
mov ecx, dword [ebp - 0x1cc]
cmp ecx, dword [0x4188c8]
jbe 0x40c38b
mov edx, dword [0x4188c8]
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1cc]
imul eax, dword [0x4188c4]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x1c4]
mov dword [0x418928], ecx
jmp 0x40c3cc
movsx edx, word [0x418922]
cmp edx, 7
jne 0x40c3c3
mov word [ebp - 0xd4], 2
jmp 0x40c3cc
mov word [ebp - 0xd4], 0
jmp 0x40c1cb
cmp dword [ebp - 0x1a0], 0
je 0x40c404
lea eax, [ebp - 0x198]
mov dword [0x4189e4], eax
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
mov dword [ebp - 0x1a0], 0
mov ecx, dword [ebp - 0xd4]
and ecx, 0xffff
cmp ecx, 1
jne 0x40dc6e
xor edx, edx
mov dx, word [0x418a82]
cmp edx, 5
je 0x40d26b
mov eax, dword [ebp - 0x1c8]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x20c]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x1d8], eax
push 0
push 0
push 0
mov edx, dword [ebp - 0x19c]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [ebp - 0xd8], 0
je 0x40ce49
mov eax, dword [0x4188f0]
mov dword [ebp - 0x210], eax
mov ecx, dword [0x4188b0]
mov dword [ebp - 0x218], ecx
mov edx, dword [0x4188ec]
mov dword [ebp - 0x1cc], edx
mov eax, dword [0x4188f0]
mov dword [ebp - 0xd0], eax
mov ecx, dword [0x4188b0]
mov dword [ebp - 0xcc], ecx
mov edx, dword [0x4188ec]
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xb8], 2
mov ax, word [0x418a84]
mov word [ebp - 0xa8], ax
mov word [ebp - 0xa6], 6
mov cx, word [0x4188e0]
mov word [ebp - 0xa4], cx
mov dx, word [0x418a8a]
mov word [ebp - 0xa2], dx
mov dword [0x4189e0], 0x1e
lea eax, [ebp - 0xd0]
mov dword [0x4189e4], eax
push 0x4189e0
call dword [0x41890c]
mov ecx, dword [ebp - 0xc4]
mov dword [0x4188f0], ecx
mov edx, dword [ebp - 0xc0]
mov dword [0x4188b0], edx
mov eax, dword [ebp - 0xbc]
mov dword [0x4188ec], eax
mov eax, dword [ebp - 0x1c8]
xor edx, edx
div dword [0x4188b0]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [0x4188ec]
jbe 0x40c566
mov edx, dword [0x4188ec]
mov dword [ebp - 0x214], edx
mov dword [0x4189e0], 0x1b
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x218]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0x1cc]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x214]
sub eax, 2
imul eax, dword [0x4188b0]
mov dword [ebp - 0xb4], eax
mov ecx, dword [0x418924]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0xac], edx
push 0x4189e0
call dword [0x41890c]
test eax, eax
jge 0x40c650
mov eax, dword [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4176b0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x1a4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x1c0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0x1c0]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov edx, dword [ebp - 0x20c]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov word [0x418ae8], 0
push 0
call fcn.0040ae0e
add esp, 4
mov ax, 3
jmp 0x40dd6a
push 0
push 0x40b
mov ecx, dword [0x418e44]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor edx, edx
mov dx, word [0x418ae8]
sub edx, 1
mov word [0x418ae8], dx
call fcn.0040a6b2
push 0x2a
call fcn.0040a5b0
add esp, 4
mov eax, dword [0x4188ec]
mov dword [0x4185b8], eax
mov ecx, dword [0x4185b8]
mov dword [ebp - 0x1cc], ecx
xor edx, edx
mov dx, word [0x418a84]
test edx, edx
je 0x40c75f
cmp dword [ebp - 4], 0
je 0x40c75f
lea eax, [ebp - 0x198]
mov dword [0x4189e4], eax
mov ecx, dword [0x4188f0]
mov dword [ebp - 0x198], ecx
mov edx, dword [0x4188b0]
mov dword [ebp - 0x194], edx
mov eax, dword [0x4188ec]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x180], 0x8002
mov cx, word [0x418a84]
mov word [ebp - 0x170], cx
mov edx, dword [0x4188b0]
shl edx, 2
mov eax, dword [ebp - 0x1c8]
sub eax, edx
mov dword [ebp - 0x17c], eax
mov ecx, dword [0x418924]
mov dword [ebp - 0x178], ecx
mov word [ebp - 0x16e], 5
mov edx, dword [0x418924]
mov dword [ebp - 0x106], edx
mov dword [0x4189e0], 0x1b
push 0x4189e0
call dword [0x41890c]
test eax, eax
jne 0x40c75f
mov dword [ebp - 0x1a0], 1
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x1e0], 0x28
xor eax, eax
mov ax, word [0x418a84]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0
je 0x40c795
cmp dword [ebp - 0x270], 2
je 0x40c7a6
jmp 0x40c7b8
mov ecx, dword [ebp - 0x1e0]
add ecx, 8
mov dword [ebp - 0x1e0], ecx
jmp 0x40c7b8
mov edx, dword [ebp - 0x1e0]
add edx, 0x400
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e0]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x1dc], eax
xor edx, edx
mov dx, word [0x418a80]
test edx, edx
jne 0x40c7fd
xor eax, eax
mov ax, word [0x418a86]
mov dword [ebp - 0x274], eax
jmp 0x40c80c
xor ecx, ecx
mov cx, word [0x418a8c]
mov dword [ebp - 0x274], ecx
fild dword [ebp - 0x274]
fmul qword [0x4152b0]
fdiv qword [0x4152c0]
fadd qword [0x4152a0]
call fcn.0040e5ac
mov edx, dword [ebp - 0x1dc]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x1dc]
mov dword [eax], 0x28
mov ecx, dword [ebp - 0x1dc]
mov dword [ecx + 0x10], 0
mov edx, dword [ebp - 0x1dc]
mov word [edx + 0xc], 1
mov eax, dword [ebp - 0x1dc]
mov dword [eax + 0x20], 0
mov ecx, dword [ebp - 0x1dc]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x1dc]
mov eax, dword [0x4188f0]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [0x4188ec]
mov dword [ecx + 8], edx
mov eax, dword [0x4188b0]
imul eax, dword [0x4188ec]
mov ecx, dword [ebp - 0x1dc]
mov dword [ecx + 0x14], eax
xor edx, edx
mov dx, word [0x418a84]
mov dword [ebp - 0x278], edx
cmp dword [ebp - 0x278], 0
je 0x40c8e8
cmp dword [ebp - 0x278], 2
je 0x40c949
cmp dword [ebp - 0x278], 3
je 0x40c9f9
jmp 0x40ca05
mov eax, dword [ebp - 0x1dc]
mov word [eax + 0xe], 1
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx + 0x28], 0
mov edx, dword [ebp - 0x1dc]
mov byte [edx + 0x29], 0
mov eax, dword [ebp - 0x1dc]
mov byte [eax + 0x2a], 0
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx + 0x2b], 0
mov edx, dword [ebp - 0x1dc]
mov byte [edx + 0x2c], 0xff
mov eax, dword [ebp - 0x1dc]
mov byte [eax + 0x2d], 0xff
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx + 0x2e], 0xff
mov edx, dword [ebp - 0x1dc]
mov byte [edx + 0x2f], 0
jmp 0x40ca05
mov eax, dword [ebp - 0x1dc]
mov word [eax + 0xe], 8
mov word [ebp - 0x21c], 0
jmp 0x40c972
mov cx, word [ebp - 0x21c]
add cx, 1
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0x21c]
and edx, 0xffff
cmp edx, 0x100
jge 0x40c9f7
mov eax, dword [ebp - 0x21c]
and eax, 0xffff
mov ecx, dword [ebp - 0x1dc]
mov dl, byte [ebp - 0x21c]
mov byte [ecx + eax*4 + 0x28], dl
mov eax, dword [ebp - 0x21c]
and eax, 0xffff
mov ecx, dword [ebp - 0x1dc]
mov dl, byte [ebp - 0x21c]
mov byte [ecx + eax*4 + 0x29], dl
mov eax, dword [ebp - 0x21c]
and eax, 0xffff
mov ecx, dword [ebp - 0x1dc]
mov dl, byte [ebp - 0x21c]
mov byte [ecx + eax*4 + 0x2a], dl
mov eax, dword [ebp - 0x21c]
and eax, 0xffff
mov ecx, dword [ebp - 0x1dc]
mov dl, byte [ebp - 0x21c]
mov byte [ecx + eax*4 + 0x2b], dl
jmp 0x40c960
jmp 0x40ca05
mov eax, dword [ebp - 0x1dc]
mov word [eax + 0xe], 0x18
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1f0], ecx
lea edx, [ebp - 0x204]
push edx
mov eax, dword [ebp + 8]
push eax
xor ecx, ecx
mov cx, word [0x418a82]
push ecx
call sub.IMGLIB32.dll_IML_BeginWrite
cmp dword [ebp - 0x1cc], 0
je 0x40cdd4
mov dword [0x4189e0], 0x1d
lea edx, [ebp - 0xd0]
mov dword [0x4189e4], edx
push 0x4189e0
call dword [0x41890c]
test eax, eax
je 0x40cb0a
mov eax, dword [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4176bc
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x1a4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x1c0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0x1c0]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x1a0], 0
je 0x40caee
lea ecx, [ebp - 0x198]
mov dword [0x4189e4], ecx
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
mov word [0x418ae8], 0
push 0
call fcn.0040ae0e
add esp, 4
mov ax, 3
jmp 0x40dd6a
mov edx, dword [ebp - 0x1cc]
sub edx, dword [0x4189f8]
mov dword [ebp - 0x1cc], edx
mov eax, dword [0x4189f8]
push eax
call fcn.0040a747
add esp, 4
call fcn.0040a8ca
test eax, eax
je 0x40cbf5
mov ecx, dword [ebp - 0x19c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4176c8
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [ebp - 0x1a4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x1c0]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [ebp - 0x1c0]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
cmp dword [ebp - 0x1a0], 0
je 0x40cbd9
lea edx, [ebp - 0x198]
mov dword [0x4189e4], edx
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
mov word [0x418ae8], 0
push 0
call fcn.0040ae0e
add esp, 4
mov ax, 2
jmp 0x40dd6a
cmp dword [ebp - 0x1a0], 0
je 0x40cd32
mov dword [0x4189e0], 0x1d
lea eax, [ebp - 0x198]
mov dword [0x4189e4], eax
cmp dword [ebp - 0xdc], 0
je 0x40cc43
mov ecx, dword [0x4188b0]
shl ecx, 2
mov edx, dword [ebp - 0x1c8]
sub edx, ecx
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0xdc], 0
jmp 0x40cc70
cmp dword [ebp - 0x1cc], 0
jne 0x40cc5a
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x17c], eax
jmp 0x40cc70
mov ecx, dword [0x4188b0]
shl ecx, 1
mov edx, dword [ebp - 0x1c8]
sub edx, ecx
mov dword [ebp - 0x17c], edx
push 0x4189e0
call dword [0x41890c]
mov eax, dword [ebp - 0x17c]
xor edx, edx
div dword [0x4188b0]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
sub eax, 1
imul eax, dword [0x4188b0]
mov ecx, dword [0x418924]
add ecx, eax
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x224], 0
jmp 0x40ccc8
mov edx, dword [ebp - 0x224]
add edx, 1
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp - 0x220]
jge 0x40cd13
mov ecx, dword [0x4188b0]
push ecx
mov edx, dword [ebp - 0x224]
imul edx, dword [0x4188b0]
mov eax, dword [ebp - 0x1d4]
sub eax, edx
push eax
mov ecx, dword [ebp - 0x224]
imul ecx, dword [0x4188b0]
mov edx, dword [ebp - 0x1d8]
add edx, ecx
push edx
call fcn.0040e770
add esp, 0xc
jmp 0x40ccb9
lea eax, [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x1d8]
push ecx
mov edx, dword [ebp - 0x220]
push edx
call sub.IMGLIB32.dll_IML_Write
jmp 0x40cdcf
mov eax, dword [0x4189f8]
sub eax, 1
imul eax, dword [0x4188b0]
mov ecx, dword [0x418924]
add ecx, eax
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x228], 0
jmp 0x40cd6a
mov edx, dword [ebp - 0x228]
add edx, 1
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x228]
cmp eax, dword [0x4189f8]
jge 0x40cdb5
mov ecx, dword [0x4188b0]
push ecx
mov edx, dword [ebp - 0x228]
imul edx, dword [0x4188b0]
mov eax, dword [ebp - 0x1d4]
sub eax, edx
push eax
mov ecx, dword [ebp - 0x228]
imul ecx, dword [0x4188b0]
mov edx, dword [ebp - 0x1d8]
add edx, ecx
push edx
call fcn.0040e770
add esp, 0xc
jmp 0x40cd5b
lea eax, [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x1d8]
push ecx
mov edx, dword [0x4189f8]
push edx
call sub.IMGLIB32.dll_IML_Write
jmp 0x40ca2b
lea eax, [ebp - 0xd0]
mov dword [0x4189e4], eax
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
cmp dword [ebp - 0x1a0], 0
je 0x40ce1e
lea ecx, [ebp - 0x198]
mov dword [0x4189e4], ecx
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
lea edx, [ebp - 0x204]
push edx
call sub.IMGLIB32.dll_IML_EndWrite
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x40d24c
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x1e0], 0x28
xor edx, edx
mov dx, word [0x418a84]
mov dword [ebp - 0x27c], edx
cmp dword [ebp - 0x27c], 0
je 0x40ce8a
cmp dword [ebp - 0x27c], 2
je 0x40ce9b
jmp 0x40cead
mov eax, dword [ebp - 0x1e0]
add eax, 8
mov dword [ebp - 0x1e0], eax
jmp 0x40cead
mov ecx, dword [ebp - 0x1e0]
add ecx, 0x400
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp - 0x1e0]
push edx
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x1dc], eax
xor ecx, ecx
mov cx, word [0x418a80]
test ecx, ecx
jne 0x40cef3
xor edx, edx
mov dx, word [0x418a86]
mov dword [ebp - 0x280], edx
jmp 0x40cf01
xor eax, eax
mov ax, word [0x418a8c]
mov dword [ebp - 0x280], eax
fild dword [ebp - 0x280]
fmul qword [0x4152b0]
fdiv qword [0x4152c0]
fadd qword [0x4152a0]
call fcn.0040e5ac
mov ecx, dword [ebp - 0x1dc]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebp - 0x1dc]
mov dword [edx], 0x28
mov eax, dword [ebp - 0x1dc]
mov dword [eax + 0x10], 0
mov ecx, dword [ebp - 0x1dc]
mov word [ecx + 0xc], 1
mov edx, dword [ebp - 0x1dc]
mov dword [edx + 0x20], 0
mov eax, dword [ebp - 0x1dc]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [0x4188f0]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [0x4188ec]
mov dword [eax + 8], ecx
mov edx, dword [0x4188b0]
imul edx, dword [0x4188ec]
mov eax, dword [ebp - 0x1dc]
mov dword [eax + 0x14], edx
xor ecx, ecx
mov cx, word [0x418a84]
mov dword [ebp - 0x284], ecx
cmp dword [ebp - 0x284], 0
je 0x40cfdf
cmp dword [ebp - 0x284], 2
je 0x40d040
cmp dword [ebp - 0x284], 3
je 0x40d0f4
jmp 0x40d100
mov edx, dword [ebp - 0x1dc]
mov word [edx + 0xe], 1
mov eax, dword [ebp - 0x1dc]
mov byte [eax + 0x28], 0
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx + 0x29], 0
mov edx, dword [ebp - 0x1dc]
mov byte [edx + 0x2a], 0
mov eax, dword [ebp - 0x1dc]
mov byte [eax + 0x2b], 0
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx + 0x2c], 0xff
mov edx, dword [ebp - 0x1dc]
mov byte [edx + 0x2d], 0xff
mov eax, dword [ebp - 0x1dc]
mov byte [eax + 0x2e], 0xff
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx + 0x2f], 0
jmp 0x40d100
mov edx, dword [ebp - 0x1dc]
mov word [edx + 0xe], 8
mov word [ebp - 0x234], 0
jmp 0x40d069
mov ax, word [ebp - 0x234]
add ax, 1
mov word [ebp - 0x234], ax
mov ecx, dword [ebp - 0x234]
and ecx, 0xffff
cmp ecx, 0x100
jge 0x40d0f2
mov edx, dword [ebp - 0x234]
and edx, 0xffff
mov eax, dword [ebp - 0x1dc]
mov cl, byte [ebp - 0x234]
mov byte [eax + edx*4 + 0x28], cl
mov edx, dword [ebp - 0x234]
and edx, 0xffff
mov eax, dword [ebp - 0x1dc]
mov cl, byte [ebp - 0x234]
mov byte [eax + edx*4 + 0x29], cl
mov edx, dword [ebp - 0x234]
and edx, 0xffff
mov eax, dword [ebp - 0x1dc]
mov cl, byte [ebp - 0x234]
mov byte [eax + edx*4 + 0x2a], cl
mov edx, dword [ebp - 0x234]
and edx, 0xffff
mov eax, dword [ebp - 0x1dc]
mov cl, byte [ebp - 0x234]
mov byte [eax + edx*4 + 0x2b], cl
jmp 0x40d057
jmp 0x40d100
mov edx, dword [ebp - 0x1dc]
mov word [edx + 0xe], 0x18
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1f0], eax
lea ecx, [ebp - 0x204]
push ecx
mov edx, dword [ebp + 8]
push edx
xor eax, eax
mov ax, word [0x418a82]
push eax
call sub.IMGLIB32.dll_IML_BeginWrite
push 0
lea ecx, [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 0x1c8]
push edx
mov eax, dword [0x418924]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40d226
cmp dword [ebp - 0x22c], 0
je 0x40d226
mov eax, dword [ebp - 0x22c]
xor edx, edx
div dword [0x4188b0]
mov dword [ebp - 0x238], eax
mov edx, dword [ebp - 0x230]
add edx, dword [ebp - 0x238]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x238]
sub eax, 1
imul eax, dword [0x4188b0]
mov ecx, dword [0x418924]
add ecx, eax
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x23c], 0
jmp 0x40d1bc
mov edx, dword [ebp - 0x23c]
add edx, 1
mov dword [ebp - 0x23c], edx
mov eax, dword [ebp - 0x23c]
cmp eax, dword [ebp - 0x238]
jge 0x40d207
mov ecx, dword [0x4188b0]
push ecx
mov edx, dword [ebp - 0x23c]
imul edx, dword [0x4188b0]
mov eax, dword [ebp - 0x1d4]
sub eax, edx
push eax
mov ecx, dword [ebp - 0x23c]
imul ecx, dword [0x4188b0]
mov edx, dword [ebp - 0x1d8]
add edx, ecx
push edx
call fcn.0040e770
add esp, 0xc
jmp 0x40d1ad
lea eax, [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x1d8]
push ecx
mov edx, dword [ebp - 0x238]
push edx
call sub.IMGLIB32.dll_IML_Write
jmp 0x40d125
lea eax, [ebp - 0x204]
push eax
call sub.IMGLIB32.dll_IML_EndWrite
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0x20c]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x40dc6e
mov edx, dword [ebp - 0x1c8]
push edx
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x244], eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0x19c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [ebp - 0xd8], 0
je 0x40da67
mov edx, dword [0x4188f0]
mov dword [ebp - 0x24c], edx
mov eax, dword [0x4188b0]
mov dword [ebp - 0x254], eax
mov ecx, dword [0x4188ec]
mov dword [ebp - 0x1cc], ecx
mov edx, dword [0x4188f0]
mov dword [ebp - 0xd0], edx
mov eax, dword [0x4188b0]
mov dword [ebp - 0xcc], eax
mov ecx, dword [0x4188ec]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xb8], 2
mov dx, word [0x418a84]
mov word [ebp - 0xa8], dx
mov word [ebp - 0xa6], 6
mov ax, word [0x4188e0]
mov word [ebp - 0xa4], ax
mov cx, word [0x418a8a]
mov word [ebp - 0xa2], cx
mov dword [0x4189e0], 0x1e
lea edx, [ebp - 0xd0]
mov dword [0x4189e4], edx
push 0x4189e0
call dword [0x41890c]
mov eax, dword [ebp - 0xc4]
mov dword [0x4188f0], eax
mov ecx, dword [ebp - 0xc0]
mov dword [0x4188b0], ecx
mov edx, dword [ebp - 0xbc]
mov dword [0x4188ec], edx
mov eax, dword [ebp - 0x1c8]
xor edx, edx
div dword [0x4188b0]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
cmp eax, dword [0x4188ec]
jbe 0x40d3a7
mov ecx, dword [0x4188ec]
mov dword [ebp - 0x250], ecx
mov dword [0x4189e0], 0x1b
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x250]
sub edx, 2
imul edx, dword [0x4188b0]
mov dword [ebp - 0xb4], edx
mov eax, dword [0x418924]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0xac], ecx
push 0x4189e0
call dword [0x41890c]
test eax, eax
jge 0x40d479
mov edx, dword [ebp - 0x19c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4176d4
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x1c0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0x1c0]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov edx, dword [ebp - 0x248]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov word [0x418ae8], 0
push 0
call fcn.0040ae0e
add esp, 4
mov ax, 3
jmp 0x40dd6a
push 0
push 0x40b
mov ecx, dword [0x418e44]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor edx, edx
mov dx, word [0x418ae8]
and edx, 1
test edx, edx
je 0x40d4b7
xor eax, eax
mov ax, word [0x418ae8]
sub eax, 1
mov dword [ebp - 0x288], eax
jmp 0x40d4c6
xor ecx, ecx
mov cx, word [0x418ae8]
mov dword [ebp - 0x288], ecx
mov dx, word [ebp - 0x288]
mov word [0x418ae8], dx
call fcn.0040a6b2
push 0x2a
call fcn.0040a5b0
add esp, 4
mov eax, dword [0x4188ec]
mov dword [ebp - 0x1cc], eax
xor ecx, ecx
mov cx, word [0x418a84]
test ecx, ecx
je 0x40d5a9
cmp dword [ebp - 4], 0
je 0x40d5a9
lea edx, [ebp - 0x198]
mov dword [0x4189e4], edx
mov eax, dword [0x4188f0]
mov dword [ebp - 0x198], eax
mov ecx, dword [0x4188b0]
mov dword [ebp - 0x194], ecx
mov edx, dword [0x4188ec]
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x180], 0x8002
mov ax, word [0x418a84]
mov word [ebp - 0x170], ax
mov ecx, dword [0x4188b0]
shl ecx, 2
mov edx, dword [ebp - 0x1c8]
sub edx, ecx
mov dword [ebp - 0x17c], edx
mov eax, dword [0x418924]
mov dword [ebp - 0x178], eax
mov word [ebp - 0x16e], 5
mov ecx, dword [0x418924]
mov dword [ebp - 0x106], ecx
mov dword [0x4189e0], 0x1b
push 0x4189e0
call dword [0x41890c]
test eax, eax
jne 0x40d5a9
mov dword [ebp - 0x1a0], 1
mov dword [ebp - 0x100], 0
mov edx, dword [ebp + 8]
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0xf4], 0
xor eax, eax
mov ax, word [0x418a8a]
mov dword [ebp - 0x1bc], eax
xor ecx, ecx
mov cx, word [0x418a8a]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [0x4188b0]
mov dword [ebp - 0x1b4], edx
mov eax, dword [0x4188f0]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [0x4188ec]
mov dword [ebp - 0x1ac], ecx
mov dx, word [0x418a84]
mov word [ebp - 0x1a8], dx
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], 0
mov dword [0x4189e0], 0x28
lea ecx, [ebp - 0x100]
mov dword [0x4189e4], ecx
push 0x4189e0
call dword [0x41890c]
cmp dword [ebp - 0x1cc], 0
je 0x40d9ed
mov dword [0x4189e0], 0x1d
lea edx, [ebp - 0xd0]
mov dword [0x4189e4], edx
push 0x4189e0
call dword [0x41890c]
test eax, eax
je 0x40d6f4
mov eax, dword [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4176e0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x1c0]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [ebp - 0x1c0]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x1a0], 0
je 0x40d6d8
lea eax, [ebp - 0x198]
mov dword [0x4189e4], eax
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
mov word [0x418ae8], 0
push 0
call fcn.0040ae0e
add esp, 4
mov ax, 3
jmp 0x40dd6a
mov ecx, dword [ebp - 0x1cc]
sub ecx, dword [0x4189f8]
mov dword [ebp - 0x1cc], ecx
mov edx, dword [0x4189f8]
push edx
call fcn.0040a747
add esp, 4
call fcn.0040a8ca
test eax, eax
je 0x40d7ae
mov eax, dword [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4176ec
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x1c0]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [ebp - 0x1c0]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
cmp dword [ebp - 0x1a0], 0
je 0x40d792
lea eax, [ebp - 0x198]
mov dword [0x4189e4], eax
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
mov word [0x418ae8], 0
push 0
call fcn.0040ae0e
add esp, 4
mov ax, 2
jmp 0x40dd6a
cmp dword [ebp - 0x1a0], 0
je 0x40d91c
mov dword [0x4189e0], 0x1d
lea ecx, [ebp - 0x198]
mov dword [0x4189e4], ecx
cmp dword [ebp - 0xdc], 0
je 0x40d7fd
mov edx, dword [0x4188b0]
shl edx, 2
mov eax, dword [ebp - 0x1c8]
sub eax, edx
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0xdc], 0
jmp 0x40d82a
cmp dword [ebp - 0x1cc], 0
jne 0x40d814
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x17c], ecx
jmp 0x40d82a
mov edx, dword [0x4188b0]
shl edx, 1
mov eax, dword [ebp - 0x1c8]
sub eax, edx
mov dword [ebp - 0x17c], eax
push 0x4189e0
call dword [0x41890c]
mov eax, dword [ebp - 0x17c]
xor edx, edx
div dword [0x4188b0]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x258]
sub ecx, 1
imul ecx, dword [0x4188b0]
mov edx, dword [0x418924]
add edx, ecx
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x25c], 0
jmp 0x40d882
mov eax, dword [ebp - 0x25c]
add eax, 1
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x25c]
cmp ecx, dword [ebp - 0x258]
jge 0x40d8cd
mov edx, dword [0x4188b0]
push edx
mov eax, dword [ebp - 0x25c]
imul eax, dword [0x4188b0]
mov ecx, dword [ebp - 0x240]
sub ecx, eax
push ecx
mov edx, dword [ebp - 0x25c]
imul edx, dword [0x4188b0]
mov eax, dword [ebp - 0x244]
add eax, edx
push eax
call fcn.0040e770
add esp, 0xc
jmp 0x40d873
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0xf8], ecx
mov dword [0x4189e0], 0x29
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0xe8], edx
lea eax, [ebp - 0x100]
mov dword [0x4189e4], eax
push 0x4189e0
call dword [0x41890c]
mov ecx, dword [ebp - 0xec]
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], ecx
jmp 0x40d9e8
mov edx, dword [0x4189f8]
sub edx, 1
imul edx, dword [0x4188b0]
mov eax, dword [0x418924]
add eax, edx
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x260], 0
jmp 0x40d954
mov ecx, dword [ebp - 0x260]
add ecx, 1
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp - 0x260]
cmp edx, dword [0x4189f8]
jge 0x40d99e
mov eax, dword [0x4188b0]
push eax
mov ecx, dword [ebp - 0x260]
imul ecx, dword [0x4188b0]
mov edx, dword [ebp - 0x240]
sub edx, ecx
push edx
mov eax, dword [ebp - 0x260]
imul eax, dword [0x4188b0]
mov ecx, dword [ebp - 0x244]
add ecx, eax
push ecx
call fcn.0040e770
add esp, 0xc
jmp 0x40d945
mov edx, dword [ebp - 0x244]
mov dword [ebp - 0xf8], edx
mov dword [0x4189e0], 0x29
mov eax, dword [0x4189f8]
mov dword [ebp - 0xe8], eax
lea ecx, [ebp - 0x100]
mov dword [0x4189e4], ecx
push 0x4189e0
call dword [0x41890c]
mov edx, dword [ebp - 0xec]
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], edx
jmp 0x40d64b
lea eax, [ebp - 0xd0]
mov dword [0x4189e4], eax
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
cmp dword [ebp - 0x1a0], 0
je 0x40da37
lea ecx, [ebp - 0x198]
mov dword [0x4189e4], ecx
mov dword [0x4189e0], 0x1c
push 0x4189e0
call dword [0x41890c]
lea edx, [ebp - 0x100]
mov dword [0x4189e4], edx
mov dword [0x4189e0], 0x2a
mov dword [0x4189f4], 1
push 0x4189e0
call dword [0x41890c]
jmp 0x40dc54
mov dword [ebp - 0x100], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf4], 0
xor ecx, ecx
mov cx, word [0x418a8a]
mov dword [ebp - 0x1bc], ecx
xor edx, edx
mov dx, word [0x418a8a]
mov dword [ebp - 0x1b8], edx
mov eax, dword [0x4188b0]
mov dword [ebp - 0x1b4], eax
mov ecx, dword [0x4188f0]
mov dword [ebp - 0x1b0], ecx
mov edx, dword [0x4188ec]
mov dword [ebp - 0x1ac], edx
mov ax, word [0x418a84]
mov word [ebp - 0x1a8], ax
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], 0
mov dword [0x4189e0], 0x28
lea edx, [ebp - 0x100]
mov dword [0x4189e4], edx
push 0x4189e0
call dword [0x41890c]
push 0
lea eax, [ebp - 0x264]
push eax
mov ecx, dword [ebp - 0x1c8]
push ecx
mov edx, dword [0x418924]
push edx
mov eax, dword [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40dc29
cmp dword [ebp - 0x264], 0
je 0x40dc29
mov eax, dword [ebp - 0x264]
xor edx, edx
div dword [0x4188b0]
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x268]
sub ecx, 1
imul ecx, dword [0x4188b0]
mov edx, dword [0x418924]
add edx, ecx
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x26c], 0
jmp 0x40db8f
mov eax, dword [ebp - 0x26c]
add eax, 1
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x26c]
cmp ecx, dword [ebp - 0x268]
jge 0x40dbda
mov edx, dword [0x4188b0]
push edx
mov eax, dword [ebp - 0x26c]
imul eax, dword [0x4188b0]
mov ecx, dword [ebp - 0x240]
sub ecx, eax
push ecx
mov edx, dword [ebp - 0x26c]
imul edx, dword [0x4188b0]
mov eax, dword [ebp - 0x244]
add eax, edx
push eax
call fcn.0040e770
add esp, 0xc
jmp 0x40db80
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0xf8], ecx
mov dword [0x4189e0], 0x29
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0xe8], edx
lea eax, [ebp - 0x100]
mov dword [0x4189e4], eax
push 0x4189e0
call dword [0x41890c]
mov ecx, dword [ebp - 0xec]
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], ecx
jmp 0x40db09
lea edx, [ebp - 0x100]
mov dword [0x4189e4], edx
mov dword [0x4189e0], 0x2a
mov dword [0x4189f4], 1
push 0x4189e0
call dword [0x41890c]
mov eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0x248]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push 0
push 0x13
call fcn.00408150
add esp, 8
jmp 0x40dc85
mov word [ebp - 0xd4], 0
mov edx, dword [ebp - 0x1c0]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x1c0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x40dcaa
mov word [ebp - 0xd4], 4
jmp 0x40dcb5
mov word [ebp - 0xd4], 4
mov ecx, dword [0x418a0c]
and ecx, 0x100
test ecx, ecx
je 0x40dcd1
push 0
push 0x16
call fcn.00408150
add esp, 8
push 0
push 0xc
call fcn.00408150
add esp, 8
cmp dword [ebp - 0xd8], 0
jne 0x40dd10
mov edx, dword [ebp - 0x19c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xd4]
and eax, 0xffff
cmp eax, 1
je 0x40dd0e
push str.c:_sam.tmp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x40dd50
mov ecx, dword [ebp - 0x19c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0xd4]
and edx, 0xffff
cmp edx, 1
je 0x40dd50
push str.c:kye.tmp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x1a4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov word [0x418ae8], 0
push 0
call fcn.0040ae0e
add esp, 4
mov ax, word [ebp - 0xd4]
mov esp, ebp
pop ebp
ret