Function at 0x10031640
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dc8e9
mov eax, dword fs:[0]
push eax
mov eax, 0x10e0
call fcn.1005dc60
mov eax, dword [0x10288294]
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 dword [ebp - 0x1078], ecx
mov esi, dword [0x10296350]
lea ecx, [ebp - 0x10ec]
call fcn.10059770
and dword [ebp - 4], 0
push 0x101e893c
push str.CHARDRAW
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
je 0x10031b3c
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push edi
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
lea esi, [edi + 1]
push esi
call fcn.1005dc8d
push esi
push 0
push eax
mov dword [ebp - 0x106c], eax
call fcn.10079700
push edi
push ebx
mov ebx, dword [ebp - 0x106c]
push ebx
call fcn.1008e630
add esp, 0x1c
lea ecx, [ebp - 0x10ec]
push 0
push 0
push ebx
call fcn.1005c400
push 0x101eb0ac
lea ecx, [ebp - 0x10ec]
call fcn.1005a3b0
test eax, eax
je 0x10031b35
mov ecx, eax
call fcn.1005a450
mov esi, eax
mov dword [ebp - 0x106c], esi
test esi, esi
je 0x10031b35
mov edi, dword [ebp - 0x1078]
mov ecx, dword [edi + 0x354]
call fcn.1004de01
mov dword [ebp - 0x1080], eax
push 0x820
lea eax, [ebp - 0x1050]
push 0
push eax
call fcn.10079700
add esp, 0xc
mov ecx, esi
push 0x101eafb4
call fcn.10059cc0
lea ecx, [ebp - 0x1050]
push ecx
push eax
call fcn.1007441e
pop ecx
pop ecx
mov ecx, dword [edi + 0x354]
lea eax, [ebp - 0x1050]
push eax
call fcn.10043940
mov ecx, esi
call fcn.1005a450
mov edi, eax
test edi, edi
je 0x10031b18
push 0x820
lea eax, [ebp - 0x830]
push 0
push eax
call fcn.10079700
add esp, 0xc
mov ecx, edi
push 0x101eafb4
call fcn.10059cc0
mov dword [ebp - 0x107c], eax
test eax, eax
je 0x10031b3c
push 8
call fcn.1005d806
mov esi, eax
pop ecx
mov dword [ebp - 0x1084], esi
mov byte [ebp - 4], 1
test esi, esi
je 0x100317f0
and dword [esi], 0
mov ecx, esi
and dword [esi + 4], 0
call fcn.1002beef
mov dword [esi], eax
jmp 0x100317f2
xor esi, esi
and dword [ebp - 0x1074], 0
lea ecx, [ebp - 0x1074]
and dword [ebp - 0x1070], 0
push esi
mov byte [ebp - 4], 0
call fcn.100295ce
lea eax, [ebp - 0x830]
mov byte [ebp - 4], 2
push eax
push dword [ebp - 0x107c]
call fcn.1007441e
and dword [ebp - 0x1058], 0
xor eax, eax
mov esi, 0x101e56a8
mov dword [ebp - 0x1054], 7
push esi
mov word [ebp - 0x1068], ax
call fcn.100812ef
add esp, 0xc
lea ecx, [ebp - 0x1068]
push eax
push esi
call fcn.10002750
mov ecx, dword [ebp - 0x1074]
lea eax, [ebp - 0x1068]
push eax
lea eax, [ebp - 0x108c]
mov byte [ebp - 4], 3
push eax
call fcn.1002985e
cmp word [ebp - 0x830], 0
mov esi, dword [ebp - 0x108c]
jne 0x1003188c
xor eax, eax
jmp 0x10031899
lea eax, [ebp - 0x830]
push eax
call fcn.100812ef
pop ecx
push eax
lea eax, [ebp - 0x830]
push eax
lea ecx, [esi + 0x28]
call fcn.10002750
push 0
push 1
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 2
call fcn.10002690
push 0x101eafbc
mov ecx, edi
call fcn.10059cc0
test eax, eax
je 0x10031973
lea ecx, [ebp - 0x830]
push ecx
push eax
call fcn.1007441e
and dword [ebp - 0x1058], 0
xor eax, eax
mov esi, str.height
mov dword [ebp - 0x1054], 7
push esi
mov word [ebp - 0x1068], ax
call fcn.100812ef
add esp, 0xc
lea ecx, [ebp - 0x1068]
push eax
push esi
call fcn.10002750
mov ecx, dword [ebp - 0x1074]
lea eax, [ebp - 0x1068]
push eax
lea eax, [ebp - 0x1094]
mov byte [ebp - 4], 4
push eax
call fcn.1002985e
cmp word [ebp - 0x830], 0
mov esi, dword [ebp - 0x1094]
jne 0x10031943
xor eax, eax
jmp 0x10031950
lea eax, [ebp - 0x830]
push eax
call fcn.100812ef
pop ecx
push eax
lea eax, [ebp - 0x830]
push eax
lea ecx, [esi + 0x28]
call fcn.10002750
push 0
push 1
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 2
call fcn.10002690
push str.page
mov ecx, edi
call fcn.10059cc0
test eax, eax
je 0x10031a2a
lea ecx, [ebp - 0x830]
push ecx
push eax
call fcn.1007441e
and dword [ebp - 0x1058], 0
xor eax, eax
mov esi, 0x101eafec
mov dword [ebp - 0x1054], 7
push esi
mov word [ebp - 0x1068], ax
call fcn.100812ef
add esp, 0xc
lea ecx, [ebp - 0x1068]
push eax
push esi
call fcn.10002750
mov ecx, dword [ebp - 0x1074]
lea eax, [ebp - 0x1068]
push eax
lea eax, [ebp - 0x109c]
mov byte [ebp - 4], 5
push eax
call fcn.1002985e
cmp word [ebp - 0x830], 0
mov esi, dword [ebp - 0x109c]
jne 0x100319fa
xor eax, eax
jmp 0x10031a07
lea eax, [ebp - 0x830]
push eax
call fcn.100812ef
pop ecx
push eax
lea eax, [ebp - 0x830]
push eax
lea ecx, [esi + 0x28]
call fcn.10002750
push 0
push 1
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 2
call fcn.10002690
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 0x20]
add eax, 8
je 0x10031adc
lea ecx, [ebp - 0x830]
push ecx
push eax
call fcn.1007441e
and dword [ebp - 0x1058], 0
xor eax, eax
mov esi, 0x101eafdc
mov dword [ebp - 0x1054], 7
push esi
mov word [ebp - 0x1068], ax
call fcn.100812ef
add esp, 0xc
lea ecx, [ebp - 0x1068]
push eax
push esi
call fcn.10002750
mov ecx, dword [ebp - 0x1074]
lea eax, [ebp - 0x1068]
push eax
lea eax, [ebp - 0x10a4]
mov byte [ebp - 4], 6
push eax
call fcn.1002985e
cmp word [ebp - 0x830], 0
mov esi, dword [ebp - 0x10a4]
jne 0x10031aac
xor eax, eax
jmp 0x10031ab9
lea eax, [ebp - 0x830]
push eax
call fcn.100812ef
pop ecx
push eax
lea eax, [ebp - 0x830]
push eax
lea ecx, [esi + 0x28]
call fcn.10002750
push 0
push 1
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 2
call fcn.10002690
mov ecx, dword [ebp - 0x1080]
lea eax, [ebp - 0x1074]
push eax
call fcn.10033f74
mov ecx, edi
call fcn.1005a880
mov ecx, dword [ebp - 0x1070]
mov edi, eax
mov byte [ebp - 4], 0
test ecx, ecx
je 0x10031b0a
call fcn.10021ea6
test edi, edi
jne 0x10031796
mov esi, dword [ebp - 0x106c]
mov ecx, esi
call fcn.1005a880
mov edi, dword [ebp - 0x1078]
mov esi, eax
mov dword [ebp - 0x106c], esi
test esi, esi
jne 0x10031742
push ebx
call fcn.1005d847
pop ecx
lea ecx, [ebp - 0x10ec]
call fcn.10029bf6
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.1005db7c
mov esp, ebp
pop ebp
ret