Function at 0x40f5b0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x444343
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x45d554]
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 eax, ecx
mov dword [ebp - 0x38], eax
lea ebx, [eax + 0x234]
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
lea edx, [eax - 0x10]
mov esi, dword [edx]
je 0x40f63f
cmp dword [edx + 0xc], 0
lea ecx, [edx + 0xc]
jge 0x40f61f
cmp dword [eax - 8], 0
jge 0x40f60f
push 0x80070057
call fcn.004026b0
mov dword [eax - 0xc], 0
xor ecx, ecx
mov eax, dword [ebx]
mov word [eax], cx
jmp 0x40f63f
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40f633
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
push 2
push str.129
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je 0x40fa27
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x40fa27
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
test edi, edi
je 0x40fa27
push esi
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0x400
lea ecx, [ebp - 0xb8]
add edi, 0x28
lea esi, [eax - 0x28]
call fcn.0041f20a
push 0
push esi
push edi
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0
call fcn.0041f2f6
push 0
push 0x1000
push 1
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x80]
call fcn.0041b55b
push 0x1335ca
mov byte [ebp - 4], 1
call fcn.00435067
add esp, 4
mov byte [ebp - 0x14], 0
xor esi, esi
lea edi, [esi + 0x3e]
call fcn.00435046
cdq
idiv edi
cmp dl, 0x1a
jae 0x40f6f3
add dl, 0x41
jmp 0x40f705
cmp dl, 0x34
jae 0x40f6fd
add dl, 0x47
jmp 0x40f705
cmp dl, 0x3e
jae 0x40f709
sub dl, 4
mov byte [ebp + esi - 0x34], dl
inc esi
cmp esi, 0x20
jl 0x40f6e1
mov ebx, dword [ebp - 0x68]
test bl, 1
jne 0x40f721
push dword [ebp - 0x6c]
push 4
call fcn.0041c1ca
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
lea eax, [ecx + 4]
cmp eax, edx
jbe 0x40f745
sub ecx, edx
add ecx, 4
push ecx
lea ecx, [ebp - 0x80]
call fcn.0041bb0e
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x68]
add ecx, 4
mov dword [ebp - 0x58], ecx
test bl, 1
jne 0x40f75a
push dword [ebp - 0x6c]
push 4
call fcn.0041c1ca
lea eax, [ecx + 4]
cmp eax, edx
jbe 0x40f778
sub ecx, edx
add ecx, 4
push ecx
lea ecx, [ebp - 0x80]
call fcn.0041bb0e
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x68]
add ecx, 4
mov dword [ebp - 0x58], ecx
test bl, 1
jne 0x40f78d
push dword [ebp - 0x6c]
push 4
call fcn.0041c1ca
lea eax, [ecx + 4]
cmp eax, edx
jbe 0x40f7ab
sub ecx, edx
add ecx, 4
push ecx
lea ecx, [ebp - 0x80]
call fcn.0041bb0e
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x68]
mov eax, dword [ecx]
add ecx, 4
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x58], ecx
test bl, 1
jne 0x40f7c8
push dword [ebp - 0x6c]
push 4
call fcn.0041c1ca
lea eax, [ecx + 4]
cmp eax, edx
jbe 0x40f7e6
sub ecx, edx
add ecx, 4
push ecx
lea ecx, [ebp - 0x80]
call fcn.0041bb0e
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x68]
mov eax, dword [ecx]
add ecx, 4
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x58], ecx
test bl, 1
jne 0x40f803
push dword [ebp - 0x6c]
push 4
call fcn.0041c1ca
lea eax, [ecx + 4]
cmp eax, edx
jbe 0x40f821
sub ecx, edx
add ecx, 4
push ecx
lea ecx, [ebp - 0x80]
call fcn.0041bb0e
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x68]
mov eax, dword [ecx]
add ecx, 4
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x58], ecx
test bl, 1
jne 0x40f83e
push dword [ebp - 0x6c]
push 4
call fcn.0041c1ca
lea eax, [ecx + 4]
cmp eax, edx
jbe 0x40f856
sub ecx, edx
add ecx, 4
push ecx
lea ecx, [ebp - 0x80]
call fcn.0041bb0e
mov ecx, dword [ebp - 0x58]
mov esi, dword [ecx]
add ecx, 4
push esi
mov dword [ebp - 0x58], ecx
call fcn.00413cac
add esp, 4
lea ecx, [ebp - 0x80]
mov edi, eax
push esi
push edi
call fcn.0041bdec
mov ebx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
push eax
push esi
push edi
mov ecx, ebx
call fcn.00412ce0
mov esi, eax
test esi, esi
jne 0x40f88d
xor ecx, ecx
jmp 0x40f8a1
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f892
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebx + 0x234]
call fcn.004024b0
push esi
call fcn.00413ca7
push edi
call fcn.00413ca7
add esp, 8
test byte [ebp - 0x68], 1
jne 0x40f8cd
push dword [ebp - 0x6c]
push 4
call fcn.0041c1ca
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
lea eax, [ecx + 4]
cmp eax, edx
jbe 0x40f8eb
sub ecx, edx
add ecx, 4
push ecx
lea ecx, [ebp - 0x80]
call fcn.0041bb0e
mov ecx, dword [ebp - 0x58]
mov esi, dword [ecx]
add ecx, 4
push esi
mov dword [ebp - 0x58], ecx
call fcn.00413cac
add esp, 4
lea ecx, [ebp - 0x80]
mov edi, eax
push esi
push edi
call fcn.0041bdec
lea eax, [ebp - 0x34]
mov ecx, ebx
push eax
push esi
push edi
call fcn.00412ce0
mov esi, eax
test esi, esi
jne 0x40f91f
xor ecx, ecx
jmp 0x40f933
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f924
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebx + 0x238]
call fcn.004024b0
push esi
call fcn.00413ca7
push edi
call fcn.00413ca7
add esp, 8
test byte [ebp - 0x68], 1
jne 0x40f95f
push dword [ebp - 0x6c]
push 4
call fcn.0041c1ca
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
lea eax, [ecx + 4]
cmp eax, edx
jbe 0x40f97d
sub ecx, edx
add ecx, 4
push ecx
lea ecx, [ebp - 0x80]
call fcn.0041bb0e
mov ecx, dword [ebp - 0x58]
mov esi, dword [ecx]
add ecx, 4
push esi
mov dword [ebp - 0x58], ecx
call fcn.00413cac
add esp, 4
lea ecx, [ebp - 0x80]
mov edi, eax
push esi
push edi
call fcn.0041bdec
lea eax, [ebp - 0x34]
mov ecx, ebx
push eax
push esi
push edi
call fcn.00412ce0
mov esi, eax
test esi, esi
jne 0x40f9b1
xor ecx, ecx
jmp 0x40f9c5
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f9b6
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebx + 0x23c]
call fcn.004024b0
push esi
call fcn.00413ca7
push edi
call fcn.00413ca7
xor eax, eax
mov ecx, ebx
add esp, 8
cmp dword [ebp - 0x84], eax
sete al
mov dword [ecx + 0x224], eax
mov eax, dword [ebp - 0x88]
mov dword [ecx + 0x228], eax
mov eax, dword [ebp - 0x8c]
mov dword [ecx + 0x22c], eax
lea ecx, [ebp - 0x80]
call fcn.0041bb00
lea ecx, [ebp - 0x80]
call fcn.0041b692
lea ecx, [ebp - 0xb8]
call fcn.0041f243
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.0042b6e6
mov esp, ebp
pop ebp
ret