Function at 0x51e34c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x51e354
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004041f8
xor eax, eax
push ebp
push 0x51e776
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x51e70a
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00409bb4
cmp dword [ebp - 0xc], 0
je 0x51e525
mov eax, dword [ebp - 0xc]
cmp byte [eax], 0x2a
jne 0x51e525
lea eax, [ebp - 8]
push eax
mov ecx, 0x7fffffff
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.0040424c
mov eax, dword [ebp - 0xc]
mov edx, 0x51e790
call fcn.00404154
jne 0x51e3e8
lea eax, [ebp - 0x10]
mov edx, 0x51e7a8
call fcn.00403e30
lea eax, [ebp - 0xc]
mov edx, 0x51e7b4
call fcn.00403e30
jmp 0x51e44d
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, 1
call fcn.0040428c
mov edx, dword [ebp - 0xc]
mov eax, 0x51e7c8
call fcn.00404330
mov ebx, eax
test ebx, ebx
jle 0x51e42e
lea eax, [ebp - 0x10]
push eax
lea edx, [ebx + 1]
mov ecx, 0x7fffffff
mov eax, dword [ebp - 0xc]
call fcn.0040424c
mov edx, ebx
dec edx
lea eax, [ebp - 0xc]
call fcn.00404378
jmp 0x51e44d
lea eax, [ebp - 0x10]
mov edx, 0x51e7d4
call fcn.00403e30
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, 1
call fcn.0040428c
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.00409198
mov eax, dword [ebp - 0x1c]
call fcn.00404208
mov ebx, eax
push ebx
mov eax, dword [ebp - 0xc]
call fcn.00404208
push eax
mov eax, dword [0x5a84dc]
push eax
call sub.kernel32.dll_FindResourceA
mov esi, eax
test esi, esi
jne 0x51e4a0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 0xb
lea eax, [ebp - 0x24]
push eax
push 0
mov cl, 0x3a
mov dl, 1
mov eax, dword [0x51ea70]
call fcn.0051f4a0
call fcn.004037e4
push esi
mov eax, dword [0x5a84dc]
push eax
call sub.kernel32.dll_LoadResource
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_LockResource
mov dword [ebp - 0x18], eax
mov dl, 1
mov eax, dword [0x4100c4]
call fcn.0040305c
mov ebx, eax
push esi
mov eax, dword [0x5a84dc]
push eax
call sub.kernel32.dll_SizeofResource
mov edi, eax
mov edx, edi
mov esi, ebx
mov eax, esi
mov ecx, dword [eax]
call dword [ecx]
mov edx, dword [ebp - 0x18]
mov ecx, edi
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 8]
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_FreeResource
xor edx, edx
mov eax, ebx
call fcn.004132dc
mov eax, esi
call fcn.004132e8
mov edx, eax
mov eax, dword [esi + 4]
call fcn.004ddb18
mov eax, esi
call fcn.004132e8
mov edx, eax
dec edx
mov eax, esi
mov ecx, dword [eax]
call dword [ecx]
jmp 0x51e700
mov eax, dword [ebp - 4]
call fcn.0054eb60
test al, al
je 0x51e582
mov dl, 1
mov eax, dword [0x4100c4]
call fcn.0040305c
mov ebx, eax
call fcn.00490e6c
call fcn.00490c94
test al, al
je 0x51e56a
call fcn.00490e6c
mov edx, dword [0x5a7a3c]
mov dx, word [edx]
mov ecx, ebx
call fcn.00490d9c
test al, al
jne 0x51e700
mov cl, 0x3b
mov dl, 1
mov eax, dword [0x51ea70]
call fcn.0051ee10
call fcn.004037e4
jmp 0x51e700
mov eax, dword [0x5a7c34]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
call fcn.00404154
jne 0x51e5ab
push 0x20
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x40ffec]
call fcn.004134f0
mov ebx, eax
jmp 0x51e700
mov eax, dword [0x5a7578]
cmp byte [eax], 0
jne 0x51e5cd
mov eax, dword [0x5a7584]
cmp byte [eax], 0
jne 0x51e5cd
mov eax, dword [0x5a7a24]
cmp byte [eax], 0
je 0x51e69a
xor eax, eax
push ebp
push 0x51e5f8
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x59ef8c]
call fcn.0059f098
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x51e604
test ebx, ebx
jne 0x51e700
xor eax, eax
push ebp
push 0x51e654
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x20
lea edx, [ebp - 0x28]
mov eax, dword [0x5a7580]
mov eax, dword [eax]
call fcn.0040cb6c
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0xc]
call fcn.0040404c
mov ecx, dword [ebp - 0x28]
mov dl, 1
mov eax, dword [0x40ffec]
call fcn.004134f0
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x51e700
xor eax, eax
push ebp
push 0x51e6df
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x20
lea edx, [ebp - 0x2c]
mov eax, dword [0x5a7580]
mov eax, dword [eax]
call fcn.0040cb6c
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
call fcn.0040404c
mov ecx, dword [ebp - 0x2c]
mov dl, 1
mov eax, dword [0x40ffec]
call fcn.004134f0
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x51e700
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x51e746
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51e77d
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00403dbc
lea eax, [ebp - 0x1c]
call fcn.00403d98
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00403dbc
ret