Function at 0x4080b4
Capabilities:
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x4c
push 0
push 0
dec ecx
jne 0x4080bc
push ecx
push ebx
push esi
push edi
mov eax, 0x407e1c
call fcn.00404c90
xor eax, eax
push ebp
push 0x40a66f
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.00407970
mov edx, dword [ebp - 0x14]
mov eax, 0x40ea68
call fcn.00404248
lea edx, [ebp - 0x18]
mov al, 1
call fcn.00407970
mov edx, dword [ebp - 0x18]
mov eax, 0x40ea6c
call fcn.00404248
lea edx, [ebp - 0x1c]
mov al, 2
call fcn.00407970
mov edx, dword [ebp - 0x1c]
mov eax, 0x40ea70
call fcn.00404248
lea edx, [ebp - 0x20]
mov al, 3
call fcn.00407970
mov edx, dword [ebp - 0x20]
mov eax, 0x40ea74
call fcn.00404248
lea edx, [ebp - 0x24]
mov al, 4
call fcn.00407970
mov edx, dword [ebp - 0x24]
mov eax, 0x40ea78
call fcn.00404248
lea edx, [ebp - 0x28]
mov al, 5
call fcn.00407970
mov edx, dword [ebp - 0x28]
mov eax, 0x40ea7c
call fcn.00404248
lea edx, [ebp - 0x2c]
mov al, 6
call fcn.00407970
mov edx, dword [ebp - 0x2c]
mov eax, 0x40ea80
call fcn.00404248
lea edx, [ebp - 0x30]
mov al, 7
call fcn.00407970
mov edx, dword [ebp - 0x30]
mov eax, 0x40ea84
call fcn.00404248
lea edx, [ebp - 0x34]
mov al, 8
call fcn.00407970
mov edx, dword [ebp - 0x34]
mov eax, 0x40ea94
call fcn.00404248
lea edx, [ebp - 0x38]
mov al, 9
call fcn.00407970
mov edx, dword [ebp - 0x38]
mov eax, 0x40ea98
call fcn.00404248
lea edx, [ebp - 0x3c]
mov al, 0xa
call fcn.00407970
mov edx, dword [ebp - 0x3c]
mov eax, 0x40ea8c
call fcn.00404248
lea edx, [ebp - 0x40]
mov al, 0xb
call fcn.00407970
mov edx, dword [ebp - 0x40]
mov eax, 0x40ea90
call fcn.00404248
lea edx, [ebp - 0x44]
mov al, 0xc
call fcn.00407970
mov edx, dword [ebp - 0x44]
mov eax, 0x40ea9c
call fcn.00404248
lea edx, [ebp - 0x48]
mov al, 0xd
call fcn.00407970
mov edx, dword [ebp - 0x48]
mov eax, 0x40eaa0
call fcn.00404248
lea edx, [ebp - 0x4c]
mov al, 0xe
call fcn.00407970
mov edx, dword [ebp - 0x4c]
mov eax, 0x40eb24
call fcn.00404248
lea edx, [ebp - 0x50]
mov al, 0xf
call fcn.00407970
mov edx, dword [ebp - 0x50]
mov eax, 0x40eb28
call fcn.00404248
lea edx, [ebp - 0x54]
mov al, 0x10
call fcn.00407970
mov edx, dword [ebp - 0x54]
mov eax, 0x40eb2c
call fcn.00404248
lea edx, [ebp - 0x58]
mov al, 0x11
call fcn.00407970
mov edx, dword [ebp - 0x58]
mov eax, 0x40eb30
call fcn.00404248
lea edx, [ebp - 0x5c]
mov al, 0x12
call fcn.00407970
mov edx, dword [ebp - 0x5c]
mov eax, 0x40eb34
call fcn.00404248
lea edx, [ebp - 0x60]
mov al, 0x13
call fcn.00407970
mov edx, dword [ebp - 0x60]
mov eax, 0x40eb38
call fcn.00404248
lea edx, [ebp - 0x64]
mov al, 0x14
call fcn.00407970
mov edx, dword [ebp - 0x64]
mov eax, 0x40eb3c
call fcn.00404248
lea edx, [ebp - 0x68]
mov al, 0x15
call fcn.00407970
mov edx, dword [ebp - 0x68]
mov eax, 0x40eb40
call fcn.00404248
lea edx, [ebp - 0x6c]
mov al, 0x16
call fcn.00407970
mov edx, dword [ebp - 0x6c]
mov eax, 0x40eaa4
call fcn.00404248
lea edx, [ebp - 0x70]
mov al, 0x17
call fcn.00407970
mov edx, dword [ebp - 0x70]
mov eax, 0x40eaa8
call fcn.00404248
lea edx, [ebp - 0x74]
mov al, 0x18
call fcn.00407970
mov edx, dword [ebp - 0x74]
mov eax, 0x40eaac
call fcn.00404248
lea edx, [ebp - 0x78]
mov al, 0x19
call fcn.00407970
mov edx, dword [ebp - 0x78]
mov eax, 0x40eaec
call fcn.00404248
lea edx, [ebp - 0x7c]
mov al, 0x1a
call fcn.00407970
mov edx, dword [ebp - 0x7c]
mov eax, 0x40eaf0
call fcn.00404248
lea edx, [ebp - 0x80]
mov al, 0x1b
call fcn.00407970
mov edx, dword [ebp - 0x80]
mov eax, 0x40eab0
call fcn.00404248
lea edx, [ebp - 0x84]
mov al, 0x1c
call fcn.00407970
mov edx, dword [ebp - 0x84]
mov eax, 0x40eab4
call fcn.00404248
lea edx, [ebp - 0x88]
mov al, 0x1d
call fcn.00407970
mov edx, dword [ebp - 0x88]
mov eax, 0x40eab8
call fcn.00404248
lea edx, [ebp - 0x8c]
mov al, 0x1e
call fcn.00407970
mov edx, dword [ebp - 0x8c]
mov eax, 0x40eabc
call fcn.00404248
lea edx, [ebp - 0x90]
mov al, 0x1f
call fcn.00407970
mov edx, dword [ebp - 0x90]
mov eax, 0x40eac0
call fcn.00404248
lea edx, [ebp - 0x94]
mov al, 0x20
call fcn.00407970
mov edx, dword [ebp - 0x94]
mov eax, 0x40eac4
call fcn.00404248
lea edx, [ebp - 0x98]
mov al, 0x21
call fcn.00407970
mov edx, dword [ebp - 0x98]
mov eax, 0x40eac8
call fcn.00404248
lea edx, [ebp - 0x9c]
mov al, 0x22
call fcn.00407970
mov edx, dword [ebp - 0x9c]
mov eax, 0x40eacc
call fcn.00404248
lea edx, [ebp - 0xa0]
mov al, 0x23
call fcn.00407970
mov edx, dword [ebp - 0xa0]
mov eax, 0x40ead0
call fcn.00404248
lea edx, [ebp - 0xa4]
mov al, 0x24
call fcn.00407970
mov edx, dword [ebp - 0xa4]
mov eax, 0x40ead4
call fcn.00404248
lea edx, [ebp - 0xa8]
mov al, 0x25
call fcn.00407970
mov edx, dword [ebp - 0xa8]
mov eax, 0x40ead8
call fcn.00404248
lea edx, [ebp - 0xac]
mov al, 0x26
call fcn.00407970
mov edx, dword [ebp - 0xac]
mov eax, 0x40eadc
call fcn.00404248
lea edx, [ebp - 0xb0]
mov al, 0x27
call fcn.00407970
mov edx, dword [ebp - 0xb0]
mov eax, 0x40eae0
call fcn.00404248
lea edx, [ebp - 0xb4]
mov al, 0x28
call fcn.00407970
mov edx, dword [ebp - 0xb4]
mov eax, 0x40eae4
call fcn.00404248
lea edx, [ebp - 0xb8]
mov al, 0x29
call fcn.00407970
mov edx, dword [ebp - 0xb8]
mov eax, 0x40eae8
call fcn.00404248
lea edx, [ebp - 0xbc]
mov al, 0x2a
call fcn.00407970
mov edx, dword [ebp - 0xbc]
mov eax, 0x40eaf4
call fcn.00404248
lea edx, [ebp - 0xc0]
mov al, 0x2b
call fcn.00407970
mov edx, dword [ebp - 0xc0]
mov eax, 0x40eaf8
call fcn.00404248
lea edx, [ebp - 0xc4]
mov al, 0x2c
call fcn.00407970
mov edx, dword [ebp - 0xc4]
mov eax, 0x40eb04
call fcn.00404248
lea edx, [ebp - 0xc8]
mov al, 0x2d
call fcn.00407970
mov edx, dword [ebp - 0xc8]
mov eax, 0x40eb08
call fcn.00404248
lea edx, [ebp - 0xcc]
mov al, 0x2e
call fcn.00407970
mov edx, dword [ebp - 0xcc]
mov eax, 0x40eb0c
call fcn.00404248
lea edx, [ebp - 0xd0]
mov al, 0x2f
call fcn.00407970
mov edx, dword [ebp - 0xd0]
mov eax, 0x40eb10
call fcn.00404248
lea edx, [ebp - 0xd4]
mov al, 0x30
call fcn.00407970
mov edx, dword [ebp - 0xd4]
mov eax, 0x40eb14
call fcn.00404248
lea edx, [ebp - 0xd8]
mov al, 0x31
call fcn.00407970
mov edx, dword [ebp - 0xd8]
mov eax, 0x40eb18
call fcn.00404248
lea edx, [ebp - 0xdc]
mov al, 0x32
call fcn.00407970
mov edx, dword [ebp - 0xdc]
mov eax, dword [0x40b9bc]
call fcn.00404248
lea edx, [ebp - 0xe0]
mov al, 0x33
call fcn.00407970
mov edx, dword [ebp - 0xe0]
mov eax, dword [0x40b9d0]
call fcn.00404248
lea edx, [ebp - 0xe4]
mov al, 0x34
call fcn.00407970
mov edx, dword [ebp - 0xe4]
mov eax, dword [0x40b9d4]
call fcn.00404248
lea edx, [ebp - 0xe8]
mov al, 0x35
call fcn.00407970
mov edx, dword [ebp - 0xe8]
mov eax, dword [0x40b9a0]
call fcn.00404248
lea edx, [ebp - 0xec]
mov al, 0x36
call fcn.00407970
mov edx, dword [ebp - 0xec]
mov eax, dword [0x40b99c]
call fcn.00404248
lea edx, [ebp - 0xf0]
mov al, 0x37
call fcn.00407970
mov edx, dword [ebp - 0xf0]
mov eax, dword [0x40b9a8]
call fcn.00404248
lea edx, [ebp - 0xf4]
mov al, 0x38
call fcn.00407970
mov edx, dword [ebp - 0xf4]
mov eax, dword [0x40b9c0]
call fcn.00404248
lea edx, [ebp - 0xf8]
mov al, 0x39
call fcn.00407970
mov edx, dword [ebp - 0xf8]
mov eax, dword [0x40b9c8]
call fcn.00404248
lea edx, [ebp - 0xfc]
mov al, 0x3a
call fcn.00407970
mov edx, dword [ebp - 0xfc]
mov eax, dword [0x40b9b4]
call fcn.00404248
lea edx, [ebp - 0x100]
mov al, 0x3b
call fcn.00407970
mov edx, dword [ebp - 0x100]
mov eax, dword [0x40b998]
call fcn.00404248
lea edx, [ebp - 0x104]
mov al, 0x3c
call fcn.00407970
mov edx, dword [ebp - 0x104]
mov eax, dword [0x40b984]
call fcn.00404248
lea edx, [ebp - 0x108]
mov al, 0x3d
call fcn.00407970
mov edx, dword [ebp - 0x108]
mov eax, dword [0x40b98c]
call fcn.00404248
lea edx, [ebp - 0x10c]
mov al, 0x3e
call fcn.00407970
mov edx, dword [ebp - 0x10c]
mov eax, dword [0x40b988]
call fcn.00404248
lea edx, [ebp - 0x110]
mov al, 0x3f
call fcn.00407970
mov edx, dword [ebp - 0x110]
mov eax, dword [0x40b9a4]
call fcn.00404248
lea edx, [ebp - 0x114]
mov al, 0x40
call fcn.00407970
mov edx, dword [ebp - 0x114]
mov eax, dword [0x40b994]
call fcn.00404248
lea edx, [ebp - 0x118]
mov al, 0x41
call fcn.00407970
mov edx, dword [ebp - 0x118]
mov eax, dword [0x40b9b8]
call fcn.00404248
lea edx, [ebp - 0x11c]
mov al, 0x42
call fcn.00407970
mov edx, dword [ebp - 0x11c]
mov eax, dword [0x40b9ac]
call fcn.00404248
lea edx, [ebp - 0x120]
mov al, 0x43
call fcn.00407970
mov edx, dword [ebp - 0x120]
mov eax, dword [0x40b9b0]
call fcn.00404248
lea edx, [ebp - 0x124]
mov al, 0x44
call fcn.00407970
mov edx, dword [ebp - 0x124]
mov eax, dword [0x40b990]
call fcn.00404248
lea edx, [ebp - 0x128]
mov al, 0x45
call fcn.00407970
mov edx, dword [ebp - 0x128]
mov eax, dword [0x40b9c4]
call fcn.00404248
lea edx, [ebp - 0x12c]
mov al, 0x46
call fcn.00407970
mov edx, dword [ebp - 0x12c]
mov eax, 0x40ea88
call fcn.00404248
lea edx, [ebp - 0x130]
mov al, 0x47
call fcn.00407970
mov edx, dword [ebp - 0x130]
mov eax, 0x40eafc
call fcn.00404248
lea edx, [ebp - 0x134]
mov al, 0x48
call fcn.00407970
mov edx, dword [ebp - 0x134]
mov eax, 0x40eb00
call fcn.00404248
lea edx, [ebp - 0x138]
mov al, 0x49
call fcn.00407970
mov edx, dword [ebp - 0x138]
mov eax, 0x40eb1c
call fcn.00404248
lea edx, [ebp - 0x13c]
mov al, 0x4a
call fcn.00407970
mov edx, dword [ebp - 0x13c]
mov eax, 0x40eb20
call fcn.00404248
call sub.kernel32.dll_GetSystemDefaultLangID
movzx eax, ax
lea ecx, [ebp - 0x140]
mov edx, 4
call fcn.004054cc
mov edx, dword [ebp - 0x140]
mov eax, 0x40e854
call fcn.00404248
lea eax, [ebp - 0x144]
call fcn.00405720
mov edx, dword [ebp - 0x144]
mov eax, 0x40e858
call fcn.00404248
mov eax, dword [0x40e858]
mov edx, dword [0x40b9d0]
mov edx, dword [edx]
call fcn.004044d4
sete byte [0x40e850]
push 0xa
push 0x40a680
mov eax, dword [0x40e7e0]
push eax
call sub.kernel32.dll_FindResourceA
mov ebx, eax
test ebx, ebx
je 0x408c8a
push ebx
mov eax, dword [0x40e7e0]
push eax
call sub.kernel32.dll_SizeofResource
mov esi, eax
test esi, esi
jbe 0x408c8a
push ebx
mov eax, dword [0x40e7e0]
push eax
call sub.kernel32.dll_LoadResource
mov dword [0x40e884], eax
cmp dword [0x40e884], 0
je 0x408c8a
xor eax, eax
push ebp
push 0x408c83
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x40e884]
push eax
call sub.kernel32.dll_LockResource
mov ebx, eax
test ebx, ebx
je 0x408c6a
xor eax, eax
push ebp
push 0x408c63
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, ebx
mov eax, 0x40e85c
call fcn.004041f4
jmp 0x408c4c
mov eax, 0x40e864
mov edx, esi
call fcn.00404324
mov edx, dword [0x40e864]
mov eax, 0x40a68c
call fcn.00404624
mov ebx, eax
push 0x40e860
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [0x40e864]
call fcn.0040459c
mov eax, 0x40e864
mov ecx, ebx
mov edx, 1
call fcn.004045dc
mov edx, dword [0x40ea8c]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408a18
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b954], al
jmp 0x408c2d
mov edx, dword [0x40ea90]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408a46
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b958], al
jmp 0x408c2d
mov edx, dword [0x40eaf4]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408a74
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b95c], al
jmp 0x408c2d
mov edx, dword [0x40eaf8]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408aa2
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b960], al
jmp 0x408c2d
mov edx, dword [0x40ea68]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408ad0
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b964], al
jmp 0x408c2d
mov edx, dword [0x40ea94]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408afe
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b968], al
jmp 0x408c2d
mov edx, dword [0x40ea98]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408b2c
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b96c], al
jmp 0x408c2d
mov edx, dword [0x40ea9c]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408b5a
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b970], al
jmp 0x408c2d
mov edx, dword [0x40eaa0]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408b88
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b974], al
jmp 0x408c2d
mov edx, dword [0x40eaa4]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408bb3
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b978], al
jmp 0x408c2d
mov edx, dword [0x40eaa8]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408bde
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b97c], al
jmp 0x408c2d
mov edx, dword [0x40eb24]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408c09
mov edx, dword [0x40eb1c]
mov eax, dword [0x40e864]
call fcn.004054f4
mov byte [0x40b980], al
jmp 0x408c2d
mov edx, dword [0x40ea88]
mov eax, dword [0x40e860]
call fcn.004054f4
test al, al
je 0x408c2d
mov eax, 0x40b950
mov edx, dword [0x40e864]
call fcn.00404248
lea eax, [ebp - 0x148]
mov edx, esi
call fcn.00404324
mov edi, dword [ebp - 0x148]
test edi, edi
je 0x408c49
sub edi, 4
mov edi, dword [edi]
inc edi
add esi, edi
cmp byte [esi], 0
jne 0x4089a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x408c6a
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x408c8a
mov eax, dword [0x40e884]
push eax
call sub.kernel32.dll_FreeResource
ret
xor ebx, ebx
call fcn.00402ff8
test eax, eax
jle 0x408eee
mov edi, eax
test edi, edi
jle 0x408eee
mov esi, 1
mov edx, 0x40e878
mov eax, esi
call fcn.00403058
test ebx, ebx
je 0x408d5f
mov eax, dword [0x40e878]
cmp byte [eax], 0x2f
je 0x408d5f
dec ebx
jne 0x408d58
lea edx, [ebp - 0x14c]
mov eax, dword [0x40e878]
call fcn.004051e4
mov edx, dword [ebp - 0x14c]
mov eax, 0x40e87c
call fcn.00404248
mov eax, dword [0x40e87c]
call fcn.00405090
test al, al
je 0x408d58
lea edx, [ebp - 0x158]
xor eax, eax
call fcn.00403058
mov eax, dword [ebp - 0x158]
lea edx, [ebp - 0x154]
call fcn.00405164
mov eax, dword [ebp - 0x154]
lea ecx, [ebp - 0x150]
xor edx, edx
call fcn.004052a4
mov eax, dword [ebp - 0x150]
push eax
lea edx, [ebp - 0x15c]
mov eax, dword [0x40e87c]
call fcn.0040525c
mov edx, dword [ebp - 0x15c]
mov eax, 0x40e87c
pop ecx
call fcn.004043c4
xor ebx, ebx
jmp 0x408ee6
xor ebx, ebx
cmp byte [0x40b954], 0
je 0x408df8
mov edx, dword [0x40eb08]
mov eax, dword [0x40e878]
call fcn.004054f4
test al, al
je 0x408df8
mov byte [0x40b944], 1
lea edx, [ebp - 0x168]
xor eax, eax
call fcn.00403058
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x164]
call fcn.00405164
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x160]
xor edx, edx
call fcn.004052a4
mov eax, dword [ebp - 0x160]
push eax
lea eax, [ebp - 0x170]
call fcn.00405ab0
mov eax, dword [ebp - 0x170]
lea edx, [ebp - 0x16c]
call fcn.0040525c
mov edx, dword [ebp - 0x16c]
mov eax, 0x40e87c
pop ecx
call fcn.004043c4
mov ebx, 1
jmp 0x408ee6
cmp byte [0x40b958], 0
je 0x408ee6
mov edx, dword [0x40e878]
mov eax, dword [0x40eb04]
call fcn.0040553c
test al, al
je 0x408ee6
mov eax, dword [0x40eb04]
test eax, eax
je 0x408e2b
sub eax, 4
mov eax, dword [eax]
inc eax
mov dword [0x40e84c], eax
mov edx, dword [0x40e878]
mov eax, 0x40a68c
call fcn.00404624
cmp eax, dword [0x40e84c]
jne 0x408ee6
mov eax, 0x40e878
mov ecx, dword [0x40e84c]
mov edx, 1
call fcn.004045dc
mov edx, dword [0x40b9bc]
mov edx, dword [edx]
mov eax, dword [0x40e878]
call fcn.004054f4
test al, al
je 0x408ea5
mov eax, 0x40e854
mov edx, dword [0x40b9d4]
mov edx, dword [edx]
call fcn.00404248
mov eax, 0x40e858
mov edx, dword [0x40b9bc]
mov edx, dword [edx]
call fcn.00404248
mov byte [0x40e850], 0
jmp 0x408ee6
mov edx, dword [0x40b9d0]
mov edx, dword [edx]
mov eax, dword [0x40e878]
call fcn.004054f4
test al, al
je 0x408ee6
mov eax, 0x40e854
mov edx, dword [0x40b9a0]
mov edx, dword [edx]
call fcn.00404248
mov eax, 0x40e858
mov edx, dword [0x40b9d0]
mov edx, dword [edx]
call fcn.00404248
mov byte [0x40e850], 1
inc esi
dec edi
jne 0x408ca8
cmp byte [0x40b944], 0
je 0x409071
cmp byte [0x40e850], 0
je 0x408f34
mov eax, 0x40e870
mov edx, 0x40a698
call fcn.00404248
push 0x40a6b0
push dword [0x40e87c]
push 0x40a6c8
mov eax, 0x40e85c
mov edx, 3
call fcn.00404440
jmp 0x408f62
mov eax, 0x40e870
mov edx, 0x40a6e4
call fcn.00404248
push 0x40a700
push dword [0x40e87c]
push 0x40a724
mov eax, 0x40e85c
mov edx, 3
call fcn.00404440
push 0x21
mov eax, dword [0x40e870]
call fcn.0040453c
push eax
mov eax, dword [0x40e85c]
call fcn.0040453c
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov dword [0x40e84c], eax
cmp dword [0x40e84c], 1
jne 0x409024
mov eax, dword [0x40e87c]
call fcn.00405090
test al, al
jne 0x409071
mov eax, dword [0x40e87c]
call fcn.00405354
test al, al
jne 0x409071
cmp byte [0x40e850], 0
je 0x408fe1
push 0x40a730
push dword [0x40e87c]
push 0x40a744
mov eax, 0x40e85c
mov edx, 3
call fcn.00404440
jmp 0x409000
push 0x40a764
push dword [0x40e87c]
push 0x40a780
mov eax, 0x40e85c
mov edx, 3
call fcn.00404440
push 0x10
mov eax, dword [0x40e870]
call fcn.0040453c
push eax
mov eax, dword [0x40e85c]
call fcn.0040453c
push eax
push 0
call sub.user32.dll_MessageBoxA_1
jmp 0x40a631
cmp byte [0x40e850], 0
je 0x40903e
mov eax, 0x40e85c
mov edx, 0x40a794
call fcn.00404248
jmp 0x40904d
mov eax, 0x40e85c
mov edx, 0x40a7bc
call fcn.00404248
push 0
mov eax, dword [0x40e870]
call fcn.0040453c
push eax
mov eax, dword [0x40e85c]
call fcn.0040453c
push eax
push 0
call sub.user32.dll_MessageBoxA_1
jmp 0x40a631
lea eax, [ebp - 0x174]
call fcn.004059cc
mov edx, dword [ebp - 0x174]
mov eax, 0x40e868
call fcn.00404248
cmp dword [0x40e868], 0
je 0x40a61e
xor edx, edx
push ebp
push 0x40a617
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x40e850], 0
je 0x4090c1
mov eax, 0x40e870
mov edx, 0x40a7e8
call fcn.00404248
jmp 0x4090d0
mov eax, 0x40e870
mov edx, 0x40a804
call fcn.00404248
mov ecx, dword [0x40e870]
mov dl, 1
mov eax, dword [0x406964]
call fcn.004069f0
mov edx, dword [0x40b9cc]
mov dword [edx], eax
xor edx, edx
push ebp
push 0x40a5dc
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x40b9cc]
mov eax, dword [eax]
mov cl, 1
mov dl, 1
call fcn.00406bf0
cmp byte [0x40b944], 0
je 0x409126
mov eax, 0x40b948
mov edx, dword [0x40e87c]
call fcn.00404248
jmp 0x40932d
cmp dword [0x40b950], 0
je 0x4092ed
mov edx, dword [0x40b950]
mov eax, dword [0x40eafc]
call fcn.0040553c
test al, al
je 0x4091ef
mov eax, dword [0x40eafc]
test eax, eax
je 0x409159
sub eax, 4
mov eax, dword [eax]
mov edx, 0x40b950
mov ecx, eax
mov eax, 1
xchg edx, eax
call fcn.004045dc
mov eax, dword [0x40b950]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
test eax, eax
je 0x409185
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x4091ca
lea eax, [ebp - 0x17c]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [0x40b950]
call fcn.0040459c
mov eax, dword [ebp - 0x17c]
mov edx, 0x40a81c
call fcn.004044d4
jne 0x4091ca
mov eax, 0x40b950
mov ecx, 1
mov edx, 1
call fcn.004045dc
lea edx, [ebp - 0x180]
mov eax, dword [0x40b950]
call fcn.00405794
mov edx, dword [ebp - 0x180]
mov eax, 0x40b948
call fcn.00404248
jmp 0x40932d
mov edx, dword [0x40b950]
mov eax, dword [0x40eb00]
call fcn.0040553c
test al, al
je 0x4092ab
mov eax, dword [0x40eb00]
test eax, eax
je 0x409215
sub eax, 4
mov eax, dword [eax]
mov edx, 0x40b950
mov ecx, eax
mov eax, 1
xchg edx, eax
call fcn.004045dc
mov eax, dword [0x40b950]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
test eax, eax
je 0x409241
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x409286
lea eax, [ebp - 0x184]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [0x40b950]
call fcn.0040459c
mov eax, dword [ebp - 0x184]
mov edx, 0x40a81c
call fcn.004044d4
jne 0x409286
mov eax, 0x40b950
mov ecx, 1
mov edx, 1
call fcn.004045dc
lea edx, [ebp - 0x188]
mov eax, dword [0x40b950]
call fcn.004058f8
mov edx, dword [ebp - 0x188]
mov eax, 0x40b948
call fcn.00404248
jmp 0x40932d
mov eax, dword [0x40b950]
call fcn.00405090
test al, al
jne 0x4092db
mov eax, dword [0x40b950]
call fcn.00405354
mov eax, dword [0x40b950]
call fcn.00405090
test al, al
jne 0x4092db
mov eax, 0x40b950
call fcn.004041f4
mov eax, 0x40b948
mov edx, dword [0x40b950]
call fcn.00404248
jmp 0x40932d
lea edx, [ebp - 0x18c]
mov eax, dword [0x40e868]
call fcn.00405130
push dword [ebp - 0x18c]
push 0x40a828
lea edx, [ebp - 0x190]
mov eax, dword [0x40e868]
call fcn.00405164
push dword [ebp - 0x190]
mov eax, 0x40b948
mov edx, 3
call fcn.00404440
cmp dword [0x40b948], 0
je 0x40a5a6
xor eax, eax
push ebp
push 0x4094b5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x40e868]
call fcn.00405cf4
push 0xa
push 0x40a82c
mov eax, dword [0x40e7e0]
push eax
call sub.kernel32.dll_FindResourceA
mov ebx, eax
test ebx, ebx
je 0x4094ab
push ebx
mov eax, dword [0x40e7e0]
push eax
call sub.kernel32.dll_SizeofResource
mov esi, eax
test esi, esi
jbe 0x4094ab
push ebx
mov eax, dword [0x40e7e0]
push eax
call sub.kernel32.dll_LoadResource
mov dword [0x40e884], eax
cmp dword [0x40e884], 0
je 0x4094ab
xor eax, eax
push ebp
push 0x4094a4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x40e884]
push eax
call sub.kernel32.dll_LockResource
mov ebx, eax
test ebx, ebx
je 0x40948b
xor eax, eax
push ebp
push 0x409484
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x40e880], 0
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
mov eax, dword [0x40e868]
call fcn.0040453c
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [0x40e88c], eax
cmp dword [0x40e88c], 0xffffffff
je 0x409476
xor eax, eax
push ebp
push 0x40946f
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x40e888
push esi
push ebx
mov eax, dword [0x40e88c]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x409438
cmp esi, dword [0x40e888]
je 0x40943c
xor eax, eax
jmp 0x40943e
mov al, 1
mov byte [0x40e880], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x409476
mov eax, dword [0x40e88c]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp byte [0x40e880], 0
jne 0x40946e
mov eax, dword [0x40e868]
call fcn.00405cf4
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40948b
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4094ab
mov eax, dword [0x40e884]
push eax
call sub.kernel32.dll_FreeResource
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4094c9
mov eax, dword [0x40e868]
call fcn.004050b4
test al, al
je 0x40a588
mov eax, dword [0x40b948]
call fcn.00405c9c
xor eax, eax
push ebp
push 0x40959d
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x406eb4]
call fcn.004072d8
mov dword [0x40eb44], eax
xor eax, eax
push ebp
push 0x40958c
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x40e868]
mov eax, dword [0x40eb44]
call fcn.004073a4
test eax, eax
jle 0x409574
mov eax, dword [0x40b9cc]
mov eax, dword [eax]
mov edx, dword [0x40eb44]
mov dword [edx + 0x2c], eax
mov dword [edx + 0x28], 0x406d2c
mov ecx, dword [0x40b948]
mov edx, dword [0x40e868]
mov eax, dword [0x40eb44]
call fcn.00407664
test al, al
jne 0x409561
mov eax, dword [0x40b948]
call fcn.00405c9c
mov eax, 0x40b94c
mov edx, dword [0x40eb44]
mov edx, dword [edx + 0xc]
call fcn.00404248
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x409593
mov eax, dword [0x40eb44]
call fcn.0040380c
ret
push 0x10
push 0x40a91c
push 0x40a9e0
mov eax, dword [0x40b9cc]
mov eax, dword [eax]
mov eax, dword [eax + 4]
push eax
call sub.user32.dll_MessageBoxA_1
jmp 0x40a5c2
push 0x10
push 0x40a91c
push 0x40a9fc
mov eax, dword [0x40b9cc]
mov eax, dword [eax]
mov eax, dword [eax + 4]
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40a5e3
mov eax, dword [0x40b9cc]
mov eax, dword [eax]
call fcn.0040380c
ret
push 0x10
push 0x40a91c
push 0x40aa20
push 0
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40a676
lea eax, [ebp - 0x264]
mov edx, 0x3b
call fcn.00404218
lea eax, [ebp - 0x174]
mov edx, 0x29
call fcn.00404218
lea eax, [ebp - 0xd0]
mov edx, 0x30
call fcn.00404218
ret