Function at 0x401696
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
sub esp, 0x88
lea ebp, [esp - 4]
mov eax, dword [0x489c20]
xor eax, ebp
mov dword [ebp + 0x88], eax
push 0x4c
mov eax, 0x470540
call fcn.00450afd
mov eax, dword [ebp + 0x94]
mov dword [ebp - 0x20], eax
lea eax, [ebp]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.00401494
push 0x47c880
push 0x67
push ebx
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
cmp esi, ebx
je 0x4017be
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
push esi
push ebx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x10], eax
cmp edi, ebx
je 0x4017be
cmp eax, ebx
je 0x4017be
push eax
push edi
call fcn.0040e1d8
mov esi, eax
xor ecx, ecx
push 2
pop edx
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0044e4ef
push dword [ebp - 0x10]
mov ebx, eax
push edi
call fcn.0040e1d8
add esp, 0x14
push esi
push ebx
lea ecx, [ebp + 0x6c]
call fcn.00401ca3
mov byte [ebp - 4], 2
cmp dword [ebp + 0x84], 8
mov eax, dword [ebp + 0x70]
jae 0x40175d
lea eax, [ebp + 0x70]
push eax
lea esi, [ebp]
call fcn.0040d9d2
push ebx
test al, al
jne 0x401783
call fcn.0044f119
pop ecx
push 0
push 1
lea ecx, [ebp + 0x6c]
call fcn.00401fd6
mov byte [ebp - 4], 0
jmp 0x4017c1
call fcn.0044f119
xor ebx, ebx
mov eax, esp
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x4c], ebx
lea esi, [ebp]
mov dword [ebp - 0x10], esp
mov dword [eax], str.Lang
call fcn.0040dd5f
cmp al, bl
jne 0x4017ff
push ebx
push 1
lea ecx, [ebp + 0x6c]
call fcn.00401fd6
mov byte [ebp - 4], bl
lea eax, [ebp]
push eax
call fcn.004014da
mov eax, dword [ebp + 0x98]
add eax, 0xfffffff0
call fcn.00401464
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x88]
xor ecx, ebp
call fcn.0044eff8
add ebp, 0x8c
leave
ret 8
lea eax, [ebp]
call fcn.0040e398
mov eax, dword [ebp + 0x98]
add eax, 0xfffffff0
call fcn.0040130b
add eax, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00401bac
push ecx
mov eax, esp
lea esi, [ebp]
mov dword [ebp - 0x1c], esp
mov dword [eax], str.item
call fcn.0040dd5f
cmp al, bl
je 0x401915
push ecx
mov eax, esp
mov dword [eax], str.name
lea ecx, [ebp - 0x58]
mov eax, esi
mov dword [ebp - 0x1c], esp
call fcn.0040153d
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 8
jb 0x401868
mov eax, dword [eax + 4]
jmp 0x40186b
add eax, 4
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004019b7
push ebx
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.00401fd6
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp]
call fcn.0040151f
mov byte [ebp - 4], 7
cmp dword [eax + 0x18], 8
jb 0x40189f
mov eax, dword [eax + 4]
jmp 0x4018a2
add eax, 4
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004019b7
push ebx
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 9
call fcn.00401fd6
lea eax, [ebp - 0x18]
push eax
mov ecx, str.wondershare
call fcn.00401e71
test eax, eax
je 0x4018e1
push dword [ebp + 0x98]
lea eax, [ebp - 0x14]
push 0x47c8c4
push eax
call fcn.00401a5b
push dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
call fcn.00401cd3
mov edi, eax
lea eax, [ebp - 0x14]
call fcn.004019fc
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.00401464
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.00401464
jmp 0x401827
lea eax, [ebp]
call fcn.0040e3ca
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.00401464
push ebx
push 1
lea ecx, [ebp + 0x6c]
call fcn.00401fd6
lea eax, [ebp]
push eax
mov byte [ebp - 4], bl
call fcn.004014da
mov eax, dword [ebp + 0x98]
add eax, 0xfffffff0
call fcn.00401464
xor eax, eax
inc eax
jmp 0x4017da