Function at 0x402c80
Capabilities:
Create thread
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x538f56
mov eax, dword fs:[0]
push eax
mov eax, 0x1f80
call fcn.00513490
mov eax, dword [0x58a110]
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 ebx, ecx
call fcn.0041b236
mov eax, dword [ebx + 0xd0]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
mov eax, dword [ebx + 0x20]
push 1
push 0x80
push eax
call esi
mov eax, dword [ebx + 0xd0]
mov ecx, dword [ebx + 0x20]
push eax
push 0
push 0x80
push ecx
call esi
push ebx
lea esi, [ebx + 0xe0]
push 0x3e8
mov ecx, esi
call fcn.00414838
call fcn.0041d9c5
mov eax, dword [eax + 0xc]
push 0
push 0
push 0
push 0
push 0x82
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov edi, eax
call fcn.0040a180
call fcn.0040a220
mov eax, 0x64
mov dword [esi + 0x78], eax
cdq
xor eax, edx
sub eax, edx
mov dword [esi + 0x74], 0
mov dword [esi + 0x7c], eax
jne 0x402d42
mov dword [esi + 0x7c], 1
mov edx, dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x640000
push 0
push 0x401
push edx
call edi
mov ecx, dword [esi + 0x74]
xor eax, eax
test ecx, ecx
jle 0x402d65
mov eax, ecx
mov ecx, dword [esi + 0x78]
cmp eax, ecx
jle 0x402d6e
mov eax, ecx
push 0
push eax
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x20]
push 0x402
push eax
call edi
mov ecx, dword [ebx + 0x100]
push 1
xor edi, edi
push edi
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
lea esi, [ebx + 0x29c]
mov dword [esi + 0x74], 0x696337
call fcn.0040ba90
push 0x567810
mov ecx, esi
call fcn.00417011
lea esi, [ebx + 0x1f4]
mov dword [esi + 0x74], 0x534d2c
call fcn.0040ba90
mov dword [esi + 0x78], 0x34311d
call fcn.0040ba90
push edi
lea ecx, [ebx + 0x330]
call fcn.0041711e
push 0x8b
push 0x8d
push 0x8e
push 0x8d
lea ecx, [ebx + 0x330]
call fcn.0040db51
lea ecx, [ebx + 0x330]
call fcn.0040dbe8
push edi
push 0x90
push 0x91
push 0x90
lea ecx, [ebx + 0x3c8]
call fcn.0040db51
lea ecx, [ebx + 0x3c8]
call fcn.0040dbe8
push edi
push 0x93
push 0x97
push 0x93
lea ecx, [ebx + 0x45c]
call fcn.0040db51
lea ecx, [ebx + 0x45c]
call fcn.0040dbe8
mov ecx, dword [0x592520]
mov eax, ecx
lea edx, [eax + 2]
lea ecx, [ecx]
mov si, word [eax]
add eax, 2
cmp si, di
jne 0x402e60
sub eax, edx
sar eax, 1
cmp eax, 2
jbe 0x4031e8
push ecx
lea edx, [ebp - 0xfb0]
push 0x566eb8
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x22
sub esp, 0x1c
mov esi, esp
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], edi
mov word [esi], ax
lea eax, [ebp - 0xfb0]
mov dword [ebp - 0x1f8c], esp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x402eb3
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0xfb0]
call fcn.004081f0
lea ecx, [ebp - 0x1f88]
call fcn.00402870
add esp, 0x20
push 0xf
lea ecx, [ebp - 0x1f88]
push ecx
mov dword [ebp - 4], edi
call fcn.00407920
cmp eax, 0xffffffff
je 0x403108
mov eax, dword [ebp - 0x1f88]
mov esi, 8
cmp dword [ebp - 0x1f74], esi
jae 0x402f0f
lea eax, [ebp - 0x1f88]
push eax
lea edx, [ebp - 0x1f50]
push str.Pack__s__
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 4
push str.Pack
lea eax, [ebp - 0x1f50]
push eax
mov ecx, ebx
call fcn.00412aed
cmp eax, 6
jne 0x403108
push 0x1400000
call fcn.0050f856
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x1f88]
cmp dword [ebp - 0x1f74], esi
jae 0x402f66
lea eax, [ebp - 0x1f88]
push 0x566bc0
push eax
call fcn.0050e6b5
add esp, 8
mov dword [ebp - 0x1f8c], eax
test eax, eax
je 0x4030f2
push eax
push 0x1400000
push 1
push edi
call fcn.0050e916
mov ecx, dword [ebp - 0x1f8c]
push ecx
mov esi, eax
call fcn.0050e9a0
add esp, 0x14
test esi, esi
js 0x4030f2
xor edx, edx
push edx
lea eax, [ebp - 0x1f88]
push eax
or eax, 0xffffffff
lea ecx, [ebp - 0x1f6c]
mov dword [ebp - 0x1f58], 7
mov dword [ebp - 0x1f5c], 0
mov word [ebp - 0x1f6c], dx
call fcn.00407820
push 4
mov eax, str..dat
lea ecx, [ebp - 0x1f6c]
mov byte [ebp - 4], 1
call fcn.00407650
push 0
push eax
or eax, 0xffffffff
lea ecx, [ebp - 0x1f6c]
call fcn.00407820
cmp dword [ebp - 0x1f58], 8
mov eax, dword [ebp - 0x1f6c]
jae 0x403018
lea eax, [ebp - 0x1f6c]
push 0x566f0c
push eax
call fcn.0050e6b5
mov ecx, eax
add esp, 8
mov dword [ebp - 0x1f8c], ecx
test ecx, ecx
je 0x4030b9
xor eax, eax
test esi, esi
jle 0x403048
lea esp, [esp]
inc byte [eax + edi]
inc eax
cmp eax, esi
jl 0x403040
push ecx
push esi
push 1
push edi
call fcn.0050fa41
mov ecx, dword [ebp - 0x1f8c]
push ecx
mov edi, eax
call fcn.0050e9a0
add esp, 0x14
cmp esi, edi
jne 0x4030b9
push 0
lea edx, [ebp - 0x1f6c]
push edx
or eax, 0xffffffff
lea ecx, [ebp - 0x1f88]
call fcn.00407820
mov byte [ebp - 4], 0
cmp dword [ebp - 0x1f58], 8
jb 0x40309a
mov eax, dword [ebp - 0x1f6c]
push eax
call fcn.0040dabc
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x1f58], 7
mov dword [ebp - 0x1f5c], 0
mov word [ebp - 0x1f6c], cx
jmp 0x403106
mov byte [ebp - 4], 0
cmp dword [ebp - 0x1f58], 8
jb 0x4030d5
mov edx, dword [ebp - 0x1f6c]
push edx
call fcn.0040dabc
add esp, 4
xor eax, eax
mov dword [ebp - 0x1f58], 7
mov dword [ebp - 0x1f5c], 0
mov word [ebp - 0x1f6c], ax
push 0x10
push 0x566f14
push str.Error_Paking_file
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor edi, edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f8c], esp
push edi
lea eax, [ebp - 0x1f88]
mov esi, 7
xor edx, edx
push eax
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], edi
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00407820
call fcn.00401640
add esp, 0x1c
cmp dword [ebp - 0x1f74], 8
mov dword [ebp - 0x1f8c], eax
mov eax, dword [ebp - 0x1f88]
jae 0x403156
lea eax, [ebp - 0x1f88]
mov ecx, dword [ebp - 0x1f8c]
push ecx
push eax
lea edx, [ebp - 0xfb0]
push str.The_CRC_for__s_is__i
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push edi
push edi
lea eax, [ebp - 0xfb0]
push eax
mov ecx, ebx
call fcn.00412aed
push 1
push 0x3e9
mov ecx, ebx
call fcn.00416efb
mov ecx, eax
call fcn.004170dc
lea ecx, [ebp - 0xfb0]
push ecx
push 0x3e9
mov ecx, ebx
call fcn.00416efb
mov ecx, eax
call fcn.00417011
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1f74], 8
jb 0x4031d1
mov edx, dword [ebp - 0x1f88]
push edx
call fcn.0040dabc
add esp, 4
xor eax, eax
mov dword [ebp - 0x1f74], esi
mov dword [ebp - 0x1f78], edi
mov word [ebp - 0x1f88], ax
jmp 0x40320a
push edi
push edi
push ebx
push 0x402940
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebx + 0x20]
push edi
push 0x32
push 0x3e7
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
push edi
push 0x3f4
mov ecx, ebx
call fcn.00416efb
mov ecx, eax
call fcn.004170dc
mov dword [ebx + 0x3c4], edi
mov eax, 1
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.0050e12a
mov esp, ebp
pop ebp
ret