Function at 0x41c8c4
Capabilities:
Copy file
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x41c8cc
push ebx
push esi
push edi
lea eax, [ebp - 0x31]
mov edx, dword [0x4061dc]
call fcn.0040352c
xor eax, eax
push ebp
push 0x41dd3a
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, dword [0x42c468]
mov byte [eax], 0
push 0
mov eax, dword [0x42c410]
mov eax, dword [eax]
push eax
call sub.user32.dll_EnableWindow
xor ecx, ecx
mov dl, 1
or eax, 0xffffffff
call fcn.0041be28
mov byte [ebp - 0x19], al
push 0xa
push 0x41dd4c
mov eax, dword [0x42d67c]
push eax
call sub.kernel32.dll_FindResourceA
mov ebx, eax
test ebx, ebx
jbe 0x41caa3
push ebx
mov eax, dword [0x42d67c]
push eax
call sub.kernel32.dll_LoadResource
push eax
call sub.kernel32.dll_LockResource
mov dword [ebp - 0x20], eax
push ebx
mov eax, dword [0x42d67c]
push eax
call sub.kernel32.dll_LoadResource
push eax
call sub.kernel32.dll_LockResource
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x31]
lea eax, [ebp - 0x20]
mov ecx, 5
call fcn.004013ac
push ebx
mov eax, dword [0x42d67c]
push eax
call sub.kernel32.dll_SizeofResource
mov edx, eax
sub edx, 6
lea eax, [ebp - 0x38]
call fcn.0040321c
push ebx
mov eax, dword [0x42d67c]
push eax
call sub.kernel32.dll_SizeofResource
sub eax, 6
push eax
lea eax, [ebp - 0x38]
call fcn.00403144
mov edx, eax
mov eax, dword [ebp - 0x20]
add eax, 5
pop ecx
call fcn.004013ac
lea eax, [ebp - 0x38]
call fcn.00407d24
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41c9dc
mov eax, dword [0x42c3fc]
mov edx, 0x41dd58
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
call fcn.00407814
test al, al
je 0x41ca74
mov dl, 1
mov eax, dword [0x41885c]
call fcn.0041857c
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x41ca3c
push dword fs:[eax]
mov dword fs:[eax], esp
mov al, byte [ebp - 0x2d]
push eax
mov eax, dword [ebp - 0x38]
call fcn.00402ef8
push eax
lea eax, [ebp - 0x38]
call fcn.00403144
mov edx, eax
mov eax, dword [ebp - 0x24]
pop ecx
call fcn.004190f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41ca43
mov eax, dword [ebp - 0x24]
call fcn.00402498
ret
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41ca8a
mov eax, 0x41dd90
call fcn.00414abc
jmp 0x41caa3
mov eax, dword [0x42c3fc]
mov edx, 0x41dd90
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
mov eax, dword [0x42c3d8]
cmp dword [eax], 0
jbe 0x41cb93
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41cad4
mov eax, dword [0x42c3fc]
mov edx, 0x41ddb4
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
call fcn.00407814
test al, al
je 0x41cb64
lea eax, [ebp - 0x3c]
call fcn.00407058
lea eax, [ebp - 0x3c]
mov edx, 0x41ddcc
call fcn.00402f00
mov eax, dword [ebp - 0x3c]
call fcn.0041c494
test al, al
je 0x41cb33
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41cb18
mov eax, 0x41dde8
call fcn.00414abc
jmp 0x41cb93
mov eax, dword [0x42c3fc]
mov edx, 0x41dde8
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41cb93
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41cb49
mov eax, 0x41de04
call fcn.00414abc
jmp 0x41cb93
mov eax, dword [0x42c3fc]
mov edx, 0x41de04
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41cb93
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41cb7a
mov eax, 0x41de04
call fcn.00414abc
jmp 0x41cb93
mov eax, dword [0x42c3fc]
mov edx, 0x41de04
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
mov eax, dword [0x42c444]
cmp byte [eax], 0xff
jne 0x41cbc5
mov eax, dword [0x42c3d0]
cmp dword [eax + 4], 0
jbe 0x41dceb
mov cl, byte [ebp - 0x19]
xor cl, 1
mov eax, dword [0x42c41c]
mov eax, dword [eax]
xor edx, edx
call fcn.0041be28
jmp 0x41dceb
lea eax, [ebp - 0x18]
mov edx, 0x41de28
call fcn.00402d3c
mov edi, dword [0x42c444]
movsx edi, byte [edi]
dec edi
test edi, edi
jl 0x41dceb
inc edi
xor esi, esi
mov eax, dword [0x42c3d0]
cmp dword [eax + 4], 1
jbe 0x41cc2b
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov ecx, dword [edx + eax*4 + 5]
cmp ecx, 0xffffffff
je 0x41cc2b
mov eax, dword [0x42c444]
mov eax, ecx
cdq
push edx
push eax
mov eax, dword [0x42c41c]
mov eax, dword [eax]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x41cc23
cmp eax, dword [esp]
pop edx
pop eax
jne 0x41dce3
push 0x41de38
imul ebx, esi, 0xb
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
mov eax, dword [eax + ebx*4 + 5]
cdq
push edx
push eax
lea eax, [ebp - 0x44]
call fcn.004066d8
push dword [ebp - 0x44]
push 0x41de44
lea eax, [ebp - 0x40]
mov edx, 3
call fcn.00402fb8
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x18]
call fcn.004031d4
test eax, eax
jne 0x41cca9
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
mov eax, dword [eax + ebx*4 + 5]
xor ecx, ecx
xor edx, edx
call fcn.0041be28
test al, al
je 0x41cca9
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
mov eax, dword [eax + ebx*4 + 5]
cdq
push edx
push eax
lea eax, [ebp - 0x48]
call fcn.004066d8
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x18]
call fcn.00402f00
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
cmp byte [eax + ebx*4 + 0xa], 0
je 0x41ccf9
call fcn.00417cb8
test al, al
je 0x41ccf9
call fcn.00417d90
test al, al
je 0x41ccf9
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41cce0
mov eax, 0x41de50
call fcn.00414abc
jmp 0x41ccf9
mov eax, dword [0x42c3fc]
mov edx, 0x41de50
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [0x42c444]
mov edx, dword [edx + 0x11]
movsx eax, byte [edx + eax]
cmp esi, eax
jne 0x41ce8a
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [0x42c444]
mov edx, dword [edx + 0x11]
cmp dword [edx + eax + 1], 0
je 0x41cdbf
lea eax, [ebp - 0x10]
call fcn.00402ca4
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [0x42c444]
mov edx, dword [edx + 0x11]
mov eax, dword [edx + eax + 1]
lea edx, [ebp - 0x10]
call fcn.0041b684
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
call fcn.00406550
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x10]
call fcn.00402d3c
push dword [ebp - 0x10]
push 0x41de80
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
push dword [eax + ebx*4 + 1]
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.00402fb8
mov eax, dword [ebp - 0x50]
call fcn.00406880
test al, al
je 0x41cdbf
push dword [ebp - 0x10]
push 0x41de80
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
push dword [eax + ebx*4 + 1]
mov eax, dword [0x42c3f0]
mov edx, 3
call fcn.00402fb8
jmp 0x41d032
mov ebx, esi
shl ebx, 4
add ebx, esi
mov eax, dword [0x42c444]
mov eax, dword [eax + 0x11]
cmp dword [eax + ebx + 9], 0
je 0x41ce8a
mov eax, dword [0x42c444]
mov eax, dword [eax + 0x11]
cmp dword [eax + ebx + 0xd], 0
je 0x41ce8a
push 0
lea eax, [ebp - 0x54]
push eax
mov eax, dword [0x42c444]
mov eax, dword [eax + 0x11]
mov ecx, dword [eax + ebx + 0xd]
mov eax, dword [0x42c444]
mov eax, dword [eax + 0x11]
mov eax, dword [eax + ebx + 9]
push eax
mov eax, dword [0x42c444]
mov eax, dword [eax + 0x11]
mov eax, dword [eax + ebx + 5]
pop edx
call fcn.004065e4
mov edx, dword [ebp - 0x54]
mov eax, dword [0x42c3f0]
call fcn.00402cf8
lea edx, [ebp - 0x58]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.004067d4
lea eax, [ebp - 0x58]
imul ebx, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov edx, dword [edx + ebx*4 + 1]
call fcn.00402f00
mov eax, dword [ebp - 0x58]
call fcn.00406880
test al, al
je 0x41ce8a
lea edx, [ebp - 0x5c]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.004067d4
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
mov ecx, dword [eax + ebx*4 + 1]
mov eax, dword [0x42c3f0]
call fcn.00402f44
jmp 0x41d032
lea edx, [ebp - 0x64]
xor eax, eax
call fcn.00401558
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.004067d4
lea eax, [ebp - 0x60]
imul ebx, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov edx, dword [edx + ebx*4 + 1]
call fcn.00402f00
mov eax, dword [ebp - 0x60]
call fcn.00406880
test al, al
je 0x41cef6
lea edx, [ebp - 0x6c]
xor eax, eax
call fcn.00401558
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
call fcn.004067d4
mov edx, dword [ebp - 0x68]
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
mov ecx, dword [eax + ebx*4 + 1]
mov eax, dword [0x42c3f0]
call fcn.00402f44
jmp 0x41d032
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d004
push 0x34
push 0x41de84
push 0x41de8c
mov eax, dword [0x42c44c]
mov eax, dword [eax]
push eax
call sub.user32.dll_MessageBoxA
cmp eax, 6
jne 0x41cfe6
lea eax, [ebp - 0xc]
mov edx, 0x41decc
call fcn.00402d3c
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
mov eax, dword [eax + ebx*4 + 1]
lea edx, [ebp - 8]
call fcn.00406974
mov eax, dword [ebp - 8]
mov edx, 0x41df00
call fcn.0040303c
jne 0x41cf60
lea eax, [ebp - 8]
call fcn.00402ca4
jmp 0x41cf80
push dword [ebp - 8]
push 0x41df14
push dword [ebp - 8]
push 0x41df14
push dword [ebp - 0xc]
lea eax, [ebp - 0xc]
mov edx, 5
call fcn.00402fb8
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.00401558
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x70]
call fcn.004067d4
mov eax, dword [ebp - 0x70]
push eax
push 0x41df20
lea eax, [ebp - 8]
push eax
push 1
mov eax, dword [0x42c44c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
xor edx, edx
call fcn.004071a8
test al, al
je 0x41cfc8
mov eax, dword [0x42c3f0]
mov edx, dword [ebp - 8]
call fcn.00402cf8
jmp 0x41d032
push 0xffffffffffffffff
mov eax, dword [0x42c410]
mov eax, dword [eax]
push eax
call sub.user32.dll_EnableWindow
mov eax, 0x41df38
call fcn.00414abc
jmp 0x41dce3
mov eax, 0x41df64
call fcn.00414abc
push 0xffffffffffffffff
mov eax, dword [0x42c410]
mov eax, dword [eax]
push eax
call sub.user32.dll_EnableWindow
jmp 0x41dce3
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406880
test al, al
jne 0x41d032
mov eax, dword [0x42c3fc]
mov edx, 0x41df88
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41dce3
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xb], 0
je 0x41d0a5
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.004030f0
push eax
call sub.kernel32.dll_GetFileAttributesA
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
or eax, 1
cmp eax, dword [ebp - 0x28]
jne 0x41d0a5
mov eax, dword [ebp - 0x28]
and eax, 0xfffffffe
push eax
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.004030f0
push eax
call sub.kernel32.dll_SetFileAttributesA
test eax, eax
je 0x41d0a5
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41d0a5
mov eax, dword [0x42c3fc]
mov edx, 0x41dfb0
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
mov bl, 1
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419c6c
test al, al
je 0x41d28c
lea edx, [ebp - 0x14]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.0040743c
test al, al
je 0x41d1b7
push 0x11
lea edx, [ebp - 0x7c]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
push dword [ebp - 0x7c]
push 0x41dfdc
push 0x41dff4
push 0x41e000
push 0x41e00c
lea eax, [ebp - 0x78]
mov edx, 5
call fcn.00402fb8
mov eax, dword [ebp - 0x78]
call fcn.004030f0
mov edx, eax
mov ecx, 0x41e02c
mov eax, dword [0x42c44c]
mov eax, dword [eax]
call fcn.004194f4
dec eax
jne 0x41dc10
mov eax, dword [ebp - 0x14]
call fcn.00407624
test al, al
je 0x41d17e
mov bl, 1
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41d28c
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0x80]
mov ecx, 0x41e03c
call fcn.00402f44
mov edx, dword [ebp - 0x80]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41d28c
xor ebx, ebx
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d199
mov eax, 0x41e05c
call fcn.00414abc
jmp 0x41d28c
mov eax, dword [0x42c3fc]
mov edx, 0x41e05c
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41d28c
call fcn.00407814
test al, al
je 0x41d23b
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xc], 0
je 0x41d204
push 0x34
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.004030f0
mov ecx, eax
mov edx, 0x41e07c
mov eax, dword [0x42c44c]
mov eax, dword [eax]
call fcn.004194f4
cmp eax, 6
jne 0x41dc10
xor ebx, ebx
jmp 0x41d28c
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d21d
mov eax, 0x41e0c4
call fcn.00414abc
jmp 0x41dc10
mov eax, dword [0x42c3fc]
mov edx, 0x41e0c4
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41dc10
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d251
mov eax, 0x41e0ec
call fcn.00414abc
jmp 0x41d26a
mov eax, dword [0x42c3fc]
mov edx, 0x41e0ec
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
push 0x30
mov ecx, 0x41e02c
mov edx, 0x41e10c
mov eax, dword [0x42c44c]
mov eax, dword [eax]
call fcn.004194f4
dec eax
jne 0x41d28c
push 0
call sub.kernel32.dll_ExitProcess_1
test bl, bl
je 0x41d0a5
mov ebx, esi
shl ebx, 5
sub ebx, esi
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
movsx eax, byte [eax + ebx]
cmp esi, eax
jne 0x41d71f
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
cmp dword [eax + ebx + 1], 0
jbe 0x41d363
mov eax, esi
shl eax, 5
sub eax, esi
mov edx, dword [0x42c444]
mov edx, dword [edx + 0xd]
mov edx, dword [edx + eax + 1]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419708
test al, al
jne 0x41d363
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d322
lea edx, [ebp - 0x84]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0x84]
mov edx, 0x41e160
call fcn.00402f00
mov eax, dword [ebp - 0x84]
call fcn.00414abc
jmp 0x41dc10
lea edx, [ebp - 0x88]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0x88]
mov edx, 0x41e160
call fcn.00402f00
mov edx, dword [ebp - 0x88]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41dc10
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
cmp dword [eax + ebx + 5], 0
jbe 0x41d417
mov eax, esi
shl eax, 5
sub eax, esi
mov edx, dword [0x42c444]
mov edx, dword [edx + 0xd]
mov edx, dword [edx + eax + 5]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419694
test al, al
jne 0x41d417
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d3d6
lea edx, [ebp - 0x8c]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0x8c]
mov edx, 0x41e17c
call fcn.00402f00
mov eax, dword [ebp - 0x8c]
call fcn.00414abc
jmp 0x41dc10
lea edx, [ebp - 0x90]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0x90]
mov edx, 0x41e17c
call fcn.00402f00
mov edx, dword [ebp - 0x90]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41dc10
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
cmp dword [eax + ebx + 9], 0
je 0x41d4dd
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
mov eax, dword [eax + ebx + 9]
call fcn.00402ef8
cmp eax, 0x20
jne 0x41d4dd
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
mov edx, dword [eax + ebx + 9]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419730
test al, al
jne 0x41d4dd
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d49c
lea edx, [ebp - 0x94]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0x94]
mov edx, 0x41e198
call fcn.00402f00
mov eax, dword [ebp - 0x94]
call fcn.00414abc
jmp 0x41dc10
lea edx, [ebp - 0x98]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0x98]
mov edx, 0x41e198
call fcn.00402f00
mov edx, dword [ebp - 0x98]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41dc10
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
cmp dword [eax + ebx + 0xd], 0
je 0x41d589
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
mov edx, dword [eax + ebx + 0xd]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.0041aa28
test al, al
jne 0x41d589
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d548
lea edx, [ebp - 0x9c]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0x9c]
mov edx, 0x41e1b4
call fcn.00402f00
mov eax, dword [ebp - 0x9c]
call fcn.00414abc
jmp 0x41dc10
lea edx, [ebp - 0xa0]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0xa0]
mov edx, 0x41e1b4
call fcn.00402f00
mov edx, dword [ebp - 0xa0]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41dc10
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
cmp byte [eax + ebx + 0x11], 0
je 0x41d66b
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
push dword [eax + ebx + 0x16]
push dword [eax + ebx + 0x12]
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
mov al, byte [eax + ebx + 0x1c]
push eax
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
mov al, byte [eax + ebx + 0x1d]
push eax
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
mov cl, byte [eax + ebx + 0x1b]
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
mov dl, byte [eax + ebx + 0x1a]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419850
test al, al
jne 0x41d66b
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d62a
lea edx, [ebp - 0xa4]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0xa4]
mov edx, 0x41e1d4
call fcn.00402f00
mov eax, dword [ebp - 0xa4]
call fcn.00414abc
jmp 0x41dc10
lea edx, [ebp - 0xa8]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0xa8]
mov edx, 0x41e1d4
call fcn.00402f00
mov edx, dword [ebp - 0xa8]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41dc10
mov eax, dword [0x42c444]
mov eax, dword [eax + 0xd]
cmp byte [eax + ebx + 0x1e], 0
jbe 0x41d71f
mov eax, esi
shl eax, 5
sub eax, esi
mov edx, dword [0x42c444]
mov edx, dword [edx + 0xd]
mov dl, byte [edx + eax + 0x1e]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419c40
test al, al
jne 0x41d71f
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41d6de
lea edx, [ebp - 0xac]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0xac]
mov edx, 0x41e1f4
call fcn.00402f00
mov eax, dword [ebp - 0xac]
call fcn.00414abc
jmp 0x41dc10
lea edx, [ebp - 0xb0]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
lea eax, [ebp - 0xb0]
mov edx, 0x41e1f4
call fcn.00402f00
mov edx, dword [ebp - 0xb0]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
jmp 0x41dc10
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xf], 0
je 0x41d75d
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419c6c
test al, al
jne 0x41d732
push 0x42e070
mov ecx, 0x42e078
mov edx, 0x42e068
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.0041770c
imul ebx, esi, 0x13
mov eax, dword [0x42c444]
mov eax, dword [eax + 5]
movsx eax, byte [eax + ebx]
cmp esi, eax
jne 0x41d890
mov eax, dword [0x42c468]
mov byte [eax], 1
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41d7e1
mov eax, dword [0x42c3fc]
mov edx, 0x41e21c
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
lea edx, [ebp - 0xb8]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
mov ecx, dword [ebp - 0xb8]
lea eax, [ebp - 0xb4]
mov edx, 0x41e234
call fcn.00402f44
mov edx, dword [ebp - 0xb4]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
mov eax, dword [0x42c444]
mov eax, dword [eax + 5]
lea ecx, [eax + ebx]
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov dl, byte [edx + eax*4 + 9]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.0041bab8
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov al, byte [edx + eax*4 + 0xd]
push eax
mov eax, dword [0x42c444]
mov eax, dword [eax + 5]
lea edx, [eax + ebx]
mov ecx, dword [0x42c440]
mov cl, byte [ecx]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419d08
test al, al
je 0x41d869
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41d863
mov edx, dword [0x42c3d0]
mov edx, dword [edx + 0x2d]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
mov byte [ebp - 1], 1
jmp 0x41d890
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41d890
mov edx, dword [0x42c3d0]
mov edx, dword [edx + 0x31]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
mov ebx, esi
shl ebx, 4
add ebx, esi
mov eax, dword [0x42c444]
mov eax, dword [eax + 9]
movsx eax, byte [eax + ebx]
cmp esi, eax
jne 0x41d9a0
mov eax, dword [0x42c468]
mov byte [eax], 1
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41d918
mov eax, dword [0x42c3fc]
mov edx, 0x41e24c
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
lea edx, [ebp - 0xc0]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00406974
mov ecx, dword [ebp - 0xc0]
lea eax, [ebp - 0xbc]
mov edx, 0x41e234
call fcn.00402f44
mov edx, dword [ebp - 0xbc]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov al, byte [edx + eax*4 + 0xd]
push eax
mov eax, dword [0x42c444]
mov eax, dword [eax + 9]
lea edx, [eax + ebx]
mov ecx, dword [0x42c440]
mov cl, byte [ecx]
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.0041a594
test al, al
je 0x41d979
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41d973
mov edx, dword [0x42c3d0]
mov edx, dword [edx + 0x2d]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
mov byte [ebp - 1], 1
jmp 0x41d9a0
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41d9a0
mov edx, dword [0x42c3d0]
mov edx, dword [edx + 0x31]
mov eax, dword [0x42c3fc]
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
cmp byte [ebp - 1], 0
jne 0x41da4b
mov edx, dword [0x42c440]
cmp byte [edx], 0
je 0x41da4b
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x10], 0
jne 0x41d9ec
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xe], 0
jne 0x41d9ec
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xf], 0
je 0x41da4b
push 0
mov edx, dword [0x42c3f0]
mov edx, dword [edx]
lea eax, [ebp - 0xc4]
mov ecx, 0x41e270
call fcn.00402f44
mov eax, dword [ebp - 0xc4]
call fcn.004030f0
push eax
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.004030f0
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x41da4b
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41da4b
mov eax, dword [0x42c3fc]
mov edx, 0x41e280
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x10], 0
je 0x41daad
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419c6c
test al, al
jne 0x41da5e
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419474
test al, al
je 0x41daad
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41da94
mov eax, 0x41e298
call fcn.00414abc
jmp 0x41daad
mov eax, dword [0x42c3fc]
mov edx, 0x41e298
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xe], 0
je 0x41db11
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419c6c
test al, al
jne 0x41dac0
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
mov dl, 1
call fcn.00417fc4
test al, al
jne 0x41db11
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41daf8
mov eax, 0x41e2b8
call fcn.00414abc
jmp 0x41db11
mov eax, dword [0x42c3fc]
mov edx, 0x41e2b8
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xf], 0
je 0x41dc10
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00419c6c
test al, al
jne 0x41db28
imul eax, esi, 0xb
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x11], 0
je 0x41db68
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov ecx, dword [edx + eax*4 + 0x14]
mov dword [0x42e068], ecx
mov ecx, dword [edx + eax*4 + 0x18]
mov dword [0x42e06c], ecx
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x12], 0
je 0x41db95
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov ecx, dword [edx + eax*4 + 0x1c]
mov dword [0x42e070], ecx
mov ecx, dword [edx + eax*4 + 0x20]
mov dword [0x42e074], ecx
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x13], 0
je 0x41dbc2
mov edx, dword [0x42c444]
mov edx, dword [edx + 1]
mov ecx, dword [edx + eax*4 + 0x24]
mov dword [0x42e078], ecx
mov ecx, dword [edx + eax*4 + 0x28]
mov dword [0x42e07c], ecx
push 0x42e070
mov ecx, 0x42e078
mov edx, 0x42e068
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.00417754
test al, al
je 0x41dc10
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41dbf7
mov eax, 0x41e2d4
call fcn.00414abc
jmp 0x41dc10
mov eax, dword [0x42c3fc]
mov edx, 0x41e2d4
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
imul ebx, esi, 0xb
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
cmp byte [eax + ebx*4 + 0xb], 0
je 0x41dc97
mov eax, dword [ebp - 0x28]
or eax, 1
cmp eax, dword [ebp - 0x28]
jne 0x41dc97
mov eax, dword [ebp - 0x28]
push eax
mov edx, dword [0x42c3f0]
mov edx, dword [edx]
lea eax, [ebp - 0xc8]
mov ecx, 0x41e270
call fcn.00402f44
mov eax, dword [ebp - 0xc8]
call fcn.004030f0
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [0x42c3f0]
mov eax, dword [eax]
call fcn.004030f0
push eax
call sub.kernel32.dll_SetFileAttributesA
test eax, eax
je 0x41dc97
mov eax, dword [0x42c438]
cmp byte [eax], 0
je 0x41dc97
mov eax, dword [0x42c3fc]
mov edx, 0x41e2f4
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
mov eax, dword [0x42c444]
mov eax, dword [eax + 1]
cmp byte [eax + ebx*4 + 0xa], 0
je 0x41dce3
call fcn.00417dec
test al, al
je 0x41dce3
mov eax, dword [0x42c438]
cmp byte [eax], 0
jne 0x41dcc5
mov eax, 0x41e318
call fcn.00414abc
jmp 0x41dcde
mov eax, dword [0x42c3fc]
mov edx, 0x41e318
call fcn.00403280
call fcn.00401f8c
call fcn.00401350
call fcn.00417d78
inc esi
dec edi
jne 0x41cbe7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41dd41
lea eax, [ebp - 0xc8]
mov edx, 0x25
call fcn.00402cc8
lea eax, [ebp - 0x31]
mov edx, dword [0x4061dc]
call fcn.004035f0
lea eax, [ebp - 0x18]
call fcn.00402ca4
lea eax, [ebp - 0x14]
mov edx, dword [0x4064cc]
call fcn.00403f74
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00402cc8
ret