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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x17
push 0
push 0
dec ecx
jne 0x41bd44
push ebx
push esi
push edi
lea eax, [ebp - 0x2d]
mov edx, dword [0x405ac8]
call fcn.00403428
xor eax, eax
push ebp
push 0x41ce8b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x42517c]
mov byte [eax], 0
push 0
push 0xc
mov eax, dword [0x42519c]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetDlgItem
push eax
call sub.user32.dll_EnableWindow
mov eax, dword [0x425190]
cmp byte [eax], 0
jne 0x41bdab
push 0
push 0
push 0x184
push 0x12
mov eax, dword [0x42519c]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendDlgItemMessageA
mov cl, 1
mov dl, 1
or eax, 0xffffffff
call fcn.0041b37c
mov byte [ebp - 0x15], al
push 0xa
push 0x41ce9c
mov eax, dword [0x426674]
push eax
call sub.kernel32.dll_FindResourceA
mov ebx, eax
test ebx, ebx
jbe 0x41bedd
push ebx
mov eax, dword [0x426674]
push eax
call sub.kernel32.dll_LoadResource
push eax
call sub.kernel32.dll_LockResource
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x2d]
lea eax, [ebp - 0x1c]
mov ecx, 5
call fcn.00401390
push ebx
mov eax, dword [0x426674]
push eax
call sub.kernel32.dll_SizeofResource
mov edx, eax
sub edx, 6
lea eax, [ebp - 0x34]
call fcn.00403148
push ebx
mov eax, dword [0x426674]
push eax
call sub.kernel32.dll_SizeofResource
sub eax, 6
push eax
lea eax, [ebp - 0x34]
call fcn.00403070
mov edx, eax
mov eax, dword [ebp - 0x1c]
add eax, 5
pop ecx
call fcn.00401390
lea eax, [ebp - 0x34]
call fcn.00406bdc
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41cea8
call fcn.00417be8
call fcn.004066dc
test al, al
je 0x41becb
mov dl, 1
mov eax, dword [0x416ed8]
call fcn.00416bf8
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x41beb0
push dword fs:[eax]
mov dword fs:[eax], esp
mov al, byte [ebp - 0x29]
push eax
mov eax, dword [ebp - 0x34]
call fcn.00402e24
push eax
lea eax, [ebp - 0x34]
call fcn.00403070
mov edx, eax
mov eax, dword [ebp - 0x20]
pop ecx
call fcn.00417770
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41beb7
mov eax, dword [ebp - 0x20]
call fcn.004025a0
ret
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41cee0
call fcn.00417be8
mov eax, dword [0x425168]
cmp dword [eax], 0
jbe 0x41bf5d
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41cf04
call fcn.00417be8
call fcn.004066dc
test al, al
je 0x41bf4b
lea eax, [ebp - 0x38]
call fcn.004061f8
lea eax, [ebp - 0x38]
mov edx, 0x41cf1c
call fcn.00402e2c
mov eax, dword [ebp - 0x38]
call fcn.0041b90c
test al, al
je 0x41bf37
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41cf38
call fcn.00417be8
jmp 0x41bf5d
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41cf54
call fcn.00417be8
jmp 0x41bf5d
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41cf54
call fcn.00417be8
mov eax, dword [0x425198]
cmp byte [eax], 0xff
jne 0x41bf9c
mov eax, dword [0x425164]
cmp dword [eax + 4], 0
jbe 0x41ce37
call fcn.0041a554
mov edx, dword [0x425184]
mov dword [edx], eax
mov cl, byte [ebp - 0x15]
xor cl, 1
mov eax, dword [0x425184]
mov eax, dword [eax]
xor edx, edx
call fcn.0041b37c
jmp 0x41ce37
lea eax, [ebp - 0x14]
mov edx, 0x41cf78
call fcn.00402c68
mov edi, dword [0x425198]
movsx edi, byte [edi]
dec edi
test edi, edi
jl 0x41ce37
inc edi
xor esi, esi
mov eax, dword [0x425190]
cmp byte [eax], 0
jne 0x41bfee
push 0
push 0
push 0xf0
push 0xe
mov eax, dword [0x42519c]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetDlgItem
push eax
call sub.user32.dll_SendMessageA
mov edx, dword [0x425174]
mov byte [edx], al
mov eax, dword [0x425190]
cmp byte [eax], 0
jne 0x41c005
call fcn.0041a554
mov edx, dword [0x425184]
mov dword [edx], eax
mov eax, dword [0x425164]
cmp dword [eax + 4], 1
jbe 0x41c039
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov eax, dword [edx + eax*4 + 5]
cmp eax, 0xffffffff
je 0x41c039
mov edx, dword [0x425198]
mov edx, dword [0x425184]
cmp eax, dword [edx]
jne 0x41ce2f
mov eax, dword [0x425190]
cmp byte [eax], 0
jne 0x41c07a
push 0
push 0
push 0x18b
push 0x12
mov eax, dword [0x42519c]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendDlgItemMessageA
test eax, eax
jle 0x41c07a
push 0x41cf80
push 0
push 0x180
push 0x12
mov eax, dword [0x42519c]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendDlgItemMessageA
push 0x41cfb0
imul ebx, esi, 0xb
mov eax, dword [0x425198]
mov eax, dword [eax + 1]
mov eax, dword [eax + ebx*4 + 5]
lea edx, [ebp - 0x40]
call fcn.00406378
push dword [ebp - 0x40]
push 0x41cfbc
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.00402ee4
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
call fcn.00403100
test eax, eax
jne 0x41c104
mov eax, dword [0x425198]
mov eax, dword [eax + 1]
mov eax, dword [eax + ebx*4 + 5]
mov cl, 1
xor edx, edx
call fcn.0041b37c
test al, al
je 0x41c104
mov eax, dword [0x425198]
mov eax, dword [eax + 1]
mov eax, dword [eax + ebx*4 + 5]
lea edx, [ebp - 0x44]
call fcn.00406378
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 0x14]
call fcn.00402e2c
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41cfc8
call fcn.00417be8
mov eax, dword [0x425198]
mov eax, dword [eax + 1]
cmp byte [eax + ebx*4 + 0xa], 0
je 0x41c137
call fcn.00416334
test al, al
je 0x41c137
call fcn.0041640c
test al, al
je 0x41c137
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41cff8
call fcn.00417be8
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [0x425198]
mov edx, dword [edx + 0x11]
movsx eax, byte [edx + eax]
cmp esi, eax
jne 0x41c2c8
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [0x425198]
mov edx, dword [edx + 0x11]
cmp dword [edx + eax + 1], 0
je 0x41c1fd
lea eax, [ebp - 0x10]
call fcn.00402bd0
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [0x425198]
mov edx, dword [edx + 0x11]
mov eax, dword [edx + eax + 1]
lea edx, [ebp - 0x10]
call fcn.0041abd8
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 0x10]
call fcn.00405dd8
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x10]
call fcn.00402c68
push dword [ebp - 0x10]
push 0x41d028
mov eax, dword [0x425198]
mov eax, dword [eax + 1]
push dword [eax + ebx*4 + 1]
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.00402ee4
mov eax, dword [ebp - 0x4c]
call fcn.00406598
test al, al
je 0x41c1fd
push dword [ebp - 0x10]
push 0x41d028
mov eax, dword [0x425198]
mov eax, dword [eax + 1]
push dword [eax + ebx*4 + 1]
mov eax, dword [0x425170]
mov edx, 3
call fcn.00402ee4
jmp 0x41c473
mov ebx, esi
shl ebx, 4
add ebx, esi
mov eax, dword [0x425198]
mov eax, dword [eax + 0x11]
cmp dword [eax + ebx + 9], 0
je 0x41c2c8
mov eax, dword [0x425198]
mov eax, dword [eax + 0x11]
cmp dword [eax + ebx + 0xd], 0
je 0x41c2c8
push 0
lea eax, [ebp - 0x50]
push eax
mov eax, dword [0x425198]
mov eax, dword [eax + 0x11]
mov ecx, dword [eax + ebx + 0xd]
mov eax, dword [0x425198]
mov eax, dword [eax + 0x11]
mov eax, dword [eax + ebx + 9]
push eax
mov eax, dword [0x425198]
mov eax, dword [eax + 0x11]
mov eax, dword [eax + ebx + 5]
pop edx
call fcn.00406284
mov edx, dword [ebp - 0x50]
mov eax, dword [0x425170]
call fcn.00402c24
lea edx, [ebp - 0x54]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.004064ec
lea eax, [ebp - 0x54]
imul ebx, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + ebx*4 + 1]
call fcn.00402e2c
mov eax, dword [ebp - 0x54]
call fcn.00406598
test al, al
je 0x41c2c8
lea edx, [ebp - 0x58]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.004064ec
mov edx, dword [ebp - 0x58]
mov eax, dword [0x425198]
mov eax, dword [eax + 1]
mov ecx, dword [eax + ebx*4 + 1]
mov eax, dword [0x425170]
call fcn.00402e70
jmp 0x41c473
lea edx, [ebp - 0x60]
xor eax, eax
call fcn.0040153c
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.004064ec
lea eax, [ebp - 0x5c]
imul ebx, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + ebx*4 + 1]
call fcn.00402e2c
mov eax, dword [ebp - 0x5c]
call fcn.00406598
test al, al
je 0x41c334
lea edx, [ebp - 0x68]
xor eax, eax
call fcn.0040153c
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x64]
call fcn.004064ec
mov edx, dword [ebp - 0x64]
mov eax, dword [0x425198]
mov eax, dword [eax + 1]
mov ecx, dword [eax + ebx*4 + 1]
mov eax, dword [0x425170]
call fcn.00402e70
jmp 0x41c473
mov eax, dword [0x425190]
cmp byte [eax], 0
jne 0x41c44c
push 0x34
push 0x41d02c
push 0x41d034
mov eax, dword [0x42519c]
mov eax, dword [eax]
push eax
call sub.user32.dll_MessageBoxA
cmp eax, 6
jne 0x41c41e
lea eax, [ebp - 8]
mov edx, 0x41d074
call fcn.00402c68
lea eax, [ebp - 4]
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + ebx*4 + 1]
call fcn.00402c68
mov eax, dword [ebp - 4]
mov edx, 0x41d0a8
call fcn.00402f68
jne 0x41c39f
lea eax, [ebp - 4]
call fcn.00402bd0
jmp 0x41c3bf
push dword [ebp - 4]
push 0x41d0bc
push dword [ebp - 4]
push 0x41d0bc
push dword [ebp - 8]
lea eax, [ebp - 8]
mov edx, 5
call fcn.00402ee4
lea edx, [ebp - 0x70]
xor eax, eax
call fcn.0040153c
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x6c]
call fcn.004064ec
mov eax, dword [ebp - 0x6c]
push eax
push 0x41d0c8
lea eax, [ebp - 4]
push eax
push 1
mov eax, dword [0x42519c]
mov eax, dword [eax]
mov ecx, dword [ebp - 8]
xor edx, edx
call fcn.00407e6c
test al, al
je 0x41c407
mov eax, dword [0x425170]
mov edx, dword [ebp - 4]
call fcn.00402c24
jmp 0x41c473
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d0e0
call fcn.00417be8
jmp 0x41cdfc
mov eax, dword [0x425198]
mov eax, dword [eax + 1]
mov ecx, dword [eax + ebx*4 + 1]
lea eax, [ebp - 0x74]
mov edx, 0x41d104
call fcn.00402e70
mov eax, dword [ebp - 0x74]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
jmp 0x41cdfc
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00406598
test al, al
jne 0x41c473
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d128
call fcn.00417be8
jmp 0x41cdfc
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xb], 0
je 0x41c4d5
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.0040301c
push eax
call sub.kernel32.dll_GetFileAttributesA
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
or eax, 1
cmp eax, dword [ebp - 0x24]
jne 0x41c4d5
mov eax, dword [ebp - 0x24]
and eax, 0xfffffffe
push eax
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.0040301c
push eax
call sub.kernel32.dll_SetFileAttributesA
test eax, eax
je 0x41c4d5
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d150
call fcn.00417be8
mov bl, 1
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418644
test al, al
je 0x41c69a
lea edx, [ebp - 0xc]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00417df4
test al, al
je 0x41c617
push 0x14
lea edx, [ebp - 0x7c]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00406698
push dword [ebp - 0x7c]
push 0x41d17c
push 0x41d194
push 0x41d1a0
push 0x41d1ac
lea eax, [ebp - 0x78]
mov edx, 5
call fcn.00402ee4
mov eax, dword [ebp - 0x78]
call fcn.0040301c
mov edx, eax
mov ecx, 0x41d1cc
mov eax, dword [0x42519c]
mov eax, dword [eax]
call fcn.00417c28
cmp eax, 6
jne 0x41cd85
mov eax, dword [ebp - 0xc]
call fcn.00417fdc
test al, al
je 0x41c5dd
mov bl, 1
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0x80]
mov ecx, 0x41d1dc
call fcn.00402e70
mov eax, dword [ebp - 0x80]
call fcn.0040301c
push eax
push 0
push 0x180
push 0x12
mov eax, dword [0x42519c]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendDlgItemMessageA
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0x84]
mov ecx, 0x41d1dc
call fcn.00402e70
mov eax, dword [ebp - 0x84]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
jmp 0x41c69a
xor ebx, ebx
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0x88]
mov ecx, 0x41d1fc
call fcn.00402e70
mov eax, dword [ebp - 0x88]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
jmp 0x41c69a
call fcn.004066dc
test al, al
je 0x41c678
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xc], 0
je 0x41c661
push 0x34
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.0040301c
mov ecx, eax
mov edx, 0x41d218
mov eax, dword [0x42519c]
mov eax, dword [eax]
call fcn.00417c28
cmp eax, 6
jne 0x41cd85
xor ebx, ebx
jmp 0x41c69a
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d260
call fcn.00417be8
jmp 0x41cd85
push 0x30
mov ecx, 0x41d1cc
mov edx, 0x41d280
mov eax, dword [0x42519c]
mov eax, dword [eax]
call fcn.00417c28
dec eax
jne 0x41c69a
push 0
call sub.kernel32.dll_ExitProcess_1
test bl, bl
je 0x41c4d5
mov ebx, esi
shl ebx, 5
sub ebx, esi
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
movsx eax, byte [eax + ebx]
cmp esi, eax
jne 0x41c977
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
cmp dword [eax + ebx + 1], 0
jbe 0x41c728
mov eax, esi
shl eax, 5
sub eax, esi
mov edx, dword [0x425198]
mov edx, dword [edx + 0xd]
mov edx, dword [edx + eax + 1]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418130
test al, al
jne 0x41c728
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0x8c]
mov ecx, 0x41d2d4
call fcn.00402e70
mov eax, dword [ebp - 0x8c]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
jmp 0x41cd85
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
cmp dword [eax + ebx + 5], 0
jbe 0x41c793
mov eax, esi
shl eax, 5
sub eax, esi
mov edx, dword [0x425198]
mov edx, dword [edx + 0xd]
mov edx, dword [edx + eax + 5]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.004180bc
test al, al
jne 0x41c793
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0x90]
mov ecx, 0x41d2f0
call fcn.00402e70
mov eax, dword [ebp - 0x90]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
jmp 0x41cd85
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
cmp dword [eax + ebx + 9], 0
je 0x41c80c
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
mov eax, dword [eax + ebx + 9]
call fcn.00402e24
cmp eax, 0x20
jne 0x41c80c
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
mov edx, dword [eax + ebx + 9]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418158
test al, al
jne 0x41c80c
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0x94]
mov ecx, 0x41d30c
call fcn.00402e70
mov eax, dword [ebp - 0x94]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
jmp 0x41cd85
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
cmp dword [eax + ebx + 0xd], 0
je 0x41c86f
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
mov edx, dword [eax + ebx + 0xd]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00419390
test al, al
jne 0x41c86f
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0x98]
mov ecx, 0x41d328
call fcn.00402e70
mov eax, dword [ebp - 0x98]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
jmp 0x41cd85
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
cmp byte [eax + ebx + 0x11], 0
je 0x41c90c
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
push dword [eax + ebx + 0x16]
push dword [eax + ebx + 0x12]
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
mov al, byte [eax + ebx + 0x1c]
push eax
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
mov al, byte [eax + ebx + 0x1d]
push eax
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
mov cl, byte [eax + ebx + 0x1b]
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
mov dl, byte [eax + ebx + 0x1a]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418278
test al, al
jne 0x41c90c
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0x9c]
mov ecx, 0x41d348
call fcn.00402e70
mov eax, dword [ebp - 0x9c]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
jmp 0x41cd85
mov eax, dword [0x425198]
mov eax, dword [eax + 0xd]
cmp byte [eax + ebx + 0x1e], 0
jbe 0x41c977
mov eax, esi
shl eax, 5
sub eax, esi
mov edx, dword [0x425198]
mov edx, dword [edx + 0xd]
mov dl, byte [edx + eax + 0x1e]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418618
test al, al
jne 0x41c977
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov edx, dword [edx + eax*4 + 1]
lea eax, [ebp - 0xa0]
mov ecx, 0x41d368
call fcn.00402e70
mov eax, dword [ebp - 0xa0]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
jmp 0x41cd85
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xf], 0
je 0x41c9b5
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418644
test al, al
jne 0x41c98a
push 0x426d74
mov ecx, 0x426d7c
mov edx, 0x426d6c
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.004154fc
imul ebx, esi, 0x13
mov eax, dword [0x425198]
mov eax, dword [eax + 5]
movsx eax, byte [eax + ebx]
cmp esi, eax
jne 0x41caa8
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d390
call fcn.00417be8
lea edx, [ebp - 0xa8]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00406698
mov ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0xa4]
mov edx, 0x41d3a8
call fcn.00402e70
mov eax, dword [ebp - 0xa4]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
mov eax, dword [0x425198]
mov eax, dword [eax + 5]
lea ecx, [eax + ebx]
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov dl, byte [edx + eax*4 + 9]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.0041b00c
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov al, byte [edx + eax*4 + 0xd]
push eax
mov eax, dword [0x425198]
mov eax, dword [eax + 5]
lea edx, [eax + ebx]
mov ecx, dword [0x425174]
mov cl, byte [ecx]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.004186e0
test al, al
je 0x41ca93
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, dword [0x425164]
mov eax, dword [eax + 0x2d]
call fcn.00417be8
mov eax, dword [0x42517c]
mov byte [eax], 1
jmp 0x41caa8
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, dword [0x425164]
mov eax, dword [eax + 0x31]
call fcn.00417be8
mov ebx, esi
shl ebx, 4
add ebx, esi
mov eax, dword [0x425198]
mov eax, dword [eax + 9]
movsx eax, byte [eax + ebx]
cmp esi, eax
jne 0x41cb78
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d3c0
call fcn.00417be8
lea edx, [ebp - 0xb0]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00406698
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0xac]
mov edx, 0x41d3a8
call fcn.00402e70
mov eax, dword [ebp - 0xac]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov al, byte [edx + eax*4 + 0xd]
push eax
mov eax, dword [0x425198]
mov eax, dword [eax + 9]
lea edx, [eax + ebx]
mov ecx, dword [0x425174]
mov cl, byte [ecx]
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418f24
test al, al
je 0x41cb63
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, dword [0x425164]
mov eax, dword [eax + 0x2d]
call fcn.00417be8
mov eax, dword [0x42517c]
mov byte [eax], 1
jmp 0x41cb78
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, dword [0x425164]
mov eax, dword [eax + 0x31]
call fcn.00417be8
mov edx, dword [0x42517c]
cmp byte [edx], 0
jne 0x41cc17
mov edx, dword [0x425174]
cmp byte [edx], 0
je 0x41cc17
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x10], 0
jne 0x41cbc9
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xe], 0
jne 0x41cbc9
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xf], 0
je 0x41cc17
push 0
mov edx, dword [0x425170]
mov edx, dword [edx]
lea eax, [ebp - 0xb4]
mov ecx, 0x41d3e4
call fcn.00402e70
mov eax, dword [ebp - 0xb4]
call fcn.0040301c
push eax
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.0040301c
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x41cc17
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d3f4
call fcn.00417be8
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x10], 0
je 0x41cc5c
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418644
test al, al
jne 0x41cc2a
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00417af0
test al, al
je 0x41cc5c
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d40c
call fcn.00417be8
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xe], 0
je 0x41cca3
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418644
test al, al
jne 0x41cc6f
mov eax, dword [0x425170]
mov eax, dword [eax]
mov dl, 1
call fcn.00416640
test al, al
jne 0x41cca3
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d42c
call fcn.00417be8
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xf], 0
je 0x41cd85
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00418644
test al, al
jne 0x41ccba
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x11], 0
je 0x41ccfa
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov ecx, dword [edx + eax*4 + 0x14]
mov dword [0x426d6c], ecx
mov ecx, dword [edx + eax*4 + 0x18]
mov dword [0x426d70], ecx
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x12], 0
je 0x41cd27
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov ecx, dword [edx + eax*4 + 0x1c]
mov dword [0x426d74], ecx
mov ecx, dword [edx + eax*4 + 0x20]
mov dword [0x426d78], ecx
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0x13], 0
je 0x41cd54
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
mov ecx, dword [edx + eax*4 + 0x24]
mov dword [0x426d7c], ecx
mov ecx, dword [edx + eax*4 + 0x28]
mov dword [0x426d80], ecx
push 0x426d74
mov ecx, 0x426d7c
mov edx, 0x426d6c
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.00415544
test al, al
je 0x41cd85
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d448
call fcn.00417be8
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xb], 0
je 0x41cdfc
mov eax, dword [ebp - 0x24]
or eax, 1
cmp eax, dword [ebp - 0x24]
jne 0x41cdfc
mov eax, dword [ebp - 0x24]
push eax
mov edx, dword [0x425170]
mov edx, dword [edx]
lea eax, [ebp - 0xb8]
mov ecx, 0x41d3e4
call fcn.00402e70
mov eax, dword [ebp - 0xb8]
call fcn.0040301c
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [0x425170]
mov eax, dword [eax]
call fcn.0040301c
push eax
call sub.kernel32.dll_SetFileAttributesA
test eax, eax
je 0x41cdfc
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d468
call fcn.00417be8
imul eax, esi, 0xb
mov edx, dword [0x425198]
mov edx, dword [edx + 1]
cmp byte [edx + eax*4 + 0xa], 0
je 0x41ce2f
call fcn.00416468
test al, al
je 0x41ce2f
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41d48c
call fcn.00417be8
call fcn.004163f4
inc esi
dec edi
jne 0x41bfbe
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41ce92
lea eax, [ebp - 0xb8]
mov edx, 0x22
call fcn.00402bf4
lea eax, [ebp - 0x2d]
mov edx, dword [0x405ac8]
call fcn.004034ec
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00402bf4
lea eax, [ebp - 0xc]
mov edx, dword [0x417dcc]
call fcn.00403cdc
lea eax, [ebp - 8]
mov edx, 2
call fcn.00402bf4
ret