Function at 0x100384b0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x100416e4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x98], eax
xor eax, eax
push esi
mov word [edx], ax
lea eax, [ebp - 0x88]
push edi
mov edi, dword [ebp + 8]
push eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0xa8], ecx
mov edx, ebx
push eax
mov ecx, edi
mov dword [ebp - 0xa4], 0
call fcn.10033330
cmp ax, 1
jne case.default.0x10038782
cmp dword [ebp - 0x88], 8
jne case.default.0x10038782
mov esi, dword [ebp - 0x84]
push 8
lea eax, [edi + esi*2]
push eax
push 0x10003d2c
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.default.0x10038782
lea ecx, [ebp - 0x88]
sub ebx, esi
push ecx
lea eax, [esi + 8]
sub ebx, 8
lea eax, [edi + eax*2]
mov dword [ebp - 0xa0], ebx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x8c], eax
push ecx
mov edx, ebx
mov dword [ebp - 0x90], eax
mov ecx, eax
call fcn.10033330
movzx eax, ax
test ax, ax
je 0x10038763
jmp 0x10038590
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x88]
cmp ax, 1
jne case.default.0x100385b2
lea eax, [esi - 3]
cmp eax, 3
ja case.default.0x100385b2
jmp dword [eax*4 + 0x10038c88]
mov eax, dword [ebp - 0x8c]
push esi
lea eax, [eax + edi*2]
push eax
push 0x100047a4
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.default.0x100385b2
mov eax, dword [ebp - 0x94]
mov ecx, 0xf
mov word [eax], cx
jmp case.default.0x100385b2
mov eax, dword [ebp - 0x8c]
push esi
lea eax, [eax + edi*2]
push eax
push 0x100047ac
mov dword [ebp - 0x9c], eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x10038623
mov eax, dword [ebp - 0x94]
mov ecx, 0xd
mov word [eax], cx
jmp case.default.0x100385b2
push esi
push dword [ebp - 0x9c]
push 0x100047b8
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.default.0x100385b2
mov ecx, dword [ebp - 0x94]
cmp word [ecx], ax
setne al
lea eax, [eax*4 + 0x10]
jmp 0x10038728
mov eax, dword [ebp - 0x8c]
push esi
lea eax, [eax + edi*2]
push eax
push 0x100047c4
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.default.0x100385b2
mov ecx, dword [ebp - 0x94]
movsx eax, word [ecx]
neg eax
sbb eax, eax
and eax, 5
add eax, 0xe
jmp 0x10038728
mov eax, dword [ebp - 0x8c]
push esi
lea eax, [eax + edi*2]
push eax
push 0x100047d0
mov dword [ebp - 0x9c], eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x100386dd
mov ecx, dword [ebp - 0x94]
movzx eax, word [ecx]
test ax, ax
jne 0x100386c9
mov eax, 0x11
jmp 0x10038728
cmp ax, 0xf
jne 0x100386d6
mov eax, 0x15
jmp 0x10038728
mov eax, 0x17
jmp 0x10038728
push esi
push dword [ebp - 0x9c]
push 0x100047e0
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.default.0x100385b2
mov ecx, dword [ebp - 0x94]
movzx eax, word [ecx]
test ax, ax
jne 0x1003870b
mov eax, 0x12
jmp 0x10038728
cmp ax, 0xf
jne 0x10038718
mov eax, 0x16
jmp 0x10038728
cmp ax, 0x10
mov eax, 0x18
je 0x10038728
mov eax, 0x19
mov word [ecx], ax
mov ecx, dword [ebp - 0x8c]
lea eax, [edi + esi]
lea ecx, [ecx + eax*2]
lea eax, [edi + esi]
mov dword [ebp - 0x8c], ecx
sub ebx, eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x84]
mov edx, ebx
push eax
call fcn.10033330
movzx eax, ax
test ax, ax
jne 0x10038590
mov eax, dword [ebp - 0x94]
movzx ecx, word [eax]
movsx eax, cx
add eax, 0xfffffff3
cmp eax, 0xc
ja case.default.0x10038782
movzx eax, byte [eax + 0x10038ca8]
jmp dword [eax*4 + 0x10038c98]
mov eax, 8
jmp 0x100387a3
mov eax, 0xc
jmp 0x100387a3
mov eax, 0x10
jmp 0x100387a3
mov eax, 0x14
mov edx, dword [ebp - 0x98]
xor ebx, ebx
mov esi, dword [0x10043578]
add eax, edx
mov dword [ebp - 0x9c], eax
xor edi, edi
push 0xa
lea eax, [edx + 0x1c]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x8c], eax
lea eax, [ecx - 0xc]
movzx eax, ax
push eax
push esi
mov dword [ebp - 0x84], edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x10038822
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_LockResource]
xor edx, edx
lea ecx, [ecx]
mov cl, byte [eax + edx]
inc edx
test cl, cl
jne 0x10038800
cmp byte [eax + edx], bl
jne 0x10038800
push edx
push eax
lea eax, [ebp - 0x80]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
lea esi, [ebp - 0x80]
cmp byte [ebp - 0x80], bl
je 0x10038b25
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
lea ebx, [ebx]
mov ecx, dword [ebp - 0x90]
lea eax, [edi + ebx]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x90], ecx
lea eax, [edi + ebx]
mov ecx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x90]
sub ecx, eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0xa0], ecx
push eax
lea eax, [ebp - 0x84]
mov edx, ecx
push eax
mov ecx, edi
call fcn.10033330
cmp byte [esi], 0xc
movzx edx, ax
jne 0x10038949
mov ebx, dword [ebp - 0x84]
movzx ecx, word [edi + ebx*2]
movzx eax, byte [esi + 1]
cmp cx, ax
jne 0x10038931
cmp ecx, 0x2d
jne 0x100388b9
mov eax, dword [ebp - 0x98]
mov ecx, 1
mov word [eax + 4], cx
jmp 0x100388ef
cmp ecx, 0x28
jne 0x100388ca
mov dword [ebp - 0xa4], 1
jmp 0x100388ef
cmp ecx, 0x2e
jne 0x100388db
mov dword [ebp - 0xa8], 1
jmp 0x100388ef
cmp ecx, 0x2c
jne 0x100388ef
mov eax, dword [ebp - 0x98]
add eax, 0x1e
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x88]
add esi, 3
lea eax, [ebx + ecx]
lea edi, [edi + eax*2]
lea eax, [ebx + ecx]
mov ecx, dword [ebp - 0xa0]
sub ecx, eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0xa0], ecx
mov edx, ecx
mov ecx, edi
push eax
call fcn.10033330
mov ebx, dword [ebp - 0x84]
movzx edx, ax
jmp 0x1003893a
movzx eax, byte [esi + 2]
add esi, 2
add esi, eax
cmp byte [esi], 0xc
je 0x10038892
mov dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x84]
test dx, dx
je 0x10038b1f
cmp dx, 1
jne 0x1003897b
mov eax, dword [ebp - 0x90]
cmp word [eax + edi*2], 0x27
jne 0x1003897b
mov ebx, 1
mov dword [ebp - 0x88], ebx
lea edx, [ebx + 2]
jmp 0x10038981
mov ebx, dword [ebp - 0x88]
mov cl, byte [esi]
inc esi
movzx eax, cl
cmp ax, dx
je 0x100389af
cmp cl, 1
jne case.default.0x10038782
cmp dx, 2
je 0x100389b9
pop edi
pop esi
mov eax, 0x84
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003bd00
mov esp, ebp
pop ebp
ret 0xc
cmp dx, 2
jne 0x10038a6c
mov cl, byte [esi]
test cl, cl
jle 0x100389c8
movzx eax, cl
cmp ebx, eax
jne case.default.0x10038782
test cl, cl
jns 0x100389d6
movsx ecx, cl
neg ecx
movsx eax, bl
cmp eax, ecx
jg case.default.0x10038782
mov edi, 0x1e
cmp ebx, 0x1e
jg 0x100389e2
mov edi, ebx
mov ecx, dword [ebp - 0x90]
add edi, edi
mov eax, dword [ebp - 0x84]
push edi
lea eax, [ecx + eax*2]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.msvcrt.dll_memcpy
xor eax, eax
mov word [ebp + edi - 0x40], ax
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.msvcrt.dll__wtol]
add esp, 0x10
cmp dword [ebp - 0xa8], 0
je 0x10038a34
lea ecx, [ebx*4]
mov edx, 0x10004824
sub edx, ecx
imul eax, dword [edx]
xor ecx, ecx
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xa4], 0
je 0x10038a55
mov ecx, dword [ebp - 0x8c]
mov word [ecx], ax
add ecx, 2
mov dword [ebp - 0x8c], ecx
inc esi
jmp 0x10038b0e
mov ecx, dword [ebp - 0xac]
mov dword [ecx], eax
add ecx, 4
mov dword [ebp - 0xac], ecx
inc esi
jmp 0x10038b0e
cmp dx, 3
jne 0x10038a9a
mov eax, dword [ebp - 0x90]
movzx ecx, word [eax + edi*2]
movzx eax, byte [esi]
cmp cx, ax
jne case.default.0x10038782
xor eax, eax
inc esi
cmp ecx, 0x29
sete al
dec eax
and dword [ebp - 0xa4], eax
jmp 0x10038b0e
cmp dx, 1
jne 0x10038b0e
movzx eax, byte [esi]
cmp ebx, eax
jne case.default.0x10038782
push 0x1e
lea eax, [ebp - 0x40]
push eax
push ebx
lea eax, [esi + 1]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x90]
push ebx
lea edi, [eax + edi*2]
lea eax, [ebp - 0x40]
push edi
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.default.0x10038782
cmp ebx, 2
jne 0x10038b08
push ebx
push edi
push 0x100047f0
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x10038b08
mov eax, dword [ebp - 0x98]
add eax, 0x1e
mov dword [ebp - 0x8c], eax
movzx eax, byte [esi]
inc esi
add esi, eax
cmp byte [esi], 0
mov edi, dword [ebp - 0x84]
jne 0x10038840
jmp 0x10038b25
mov ebx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
lea eax, [edi + ebx]
lea esi, [ecx + eax*2]
lea eax, [edi + ebx]
mov ebx, dword [ebp - 0xa0]
sub ebx, eax
je 0x10038b65
mov edi, edi
movzx eax, word [esi]
push 8
push eax
call dword [sym.imp.msvcrt.dll_iswctype]
add esp, 8
test eax, eax
je 0x10038b5d
add esi, 2
sub ebx, 1
jne 0x10038b40
jmp 0x10038b65
test ebx, ebx
jne case.default.0x10038782
mov eax, dword [ebp - 0xb0]
movzx eax, word [eax]
cmp ax, 9
jg case.default.0x10038782
movsx ecx, ax
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
cmp eax, dword [ecx*4 + 0x10004800]
jae case.default.0x10038782
mov eax, dword [ebp - 0x94]
movzx eax, word [eax]
cmp ax, 0x13
jne 0x10038bb0
mov ebx, dword [ebp - 0x98]
cmp dword [ebx + 0xc], 0xb
jbe 0x10038c18
jmp case.default.0x10038782
cmp ax, 0x14
je 0x10038bc2
cmp ax, 0x15
je 0x10038bc2
cmp ax, 0x16
jne 0x10038bd4
mov ebx, dword [ebp - 0x98]
cmp dword [ebx + 0xc], 0x17
ja case.default.0x10038782
jmp 0x10038bda
mov ebx, dword [ebp - 0x98]
cmp ax, 0x15
je 0x10038bf2
cmp ax, 0x16
je 0x10038bf2
cmp ax, 0x17
je 0x10038bf2
cmp ax, 0x18
jne 0x10038bfc
cmp dword [ebx + 0x10], 0x3b
ja case.default.0x10038782
cmp ax, 0x16
je 0x10038c0e
cmp ax, 0x18
je 0x10038c0e
cmp ax, 0x19
jne 0x10038c18
cmp dword [ebx + 0x14], 0x3b
ja case.default.0x10038782
cwde
add eax, 0xffffffee
cmp eax, 7
ja case.0x10038c28.19
movzx eax, byte [eax + 0x10038cc0]
jmp dword [eax*4 + 0x10038cb8]
movzx eax, word [ebx + 0x1e]
cmp ax, 9
jg case.default.0x10038782
mov ecx, dword [ebx + 0x18]
mov esi, 0x10004824
cwde
xor edx, edx
shl eax, 2
sub esi, eax
mov eax, ecx
div dword [esi]
test edx, edx
je case.0x10038c28.19
pop edi
sub ecx, edx
mov eax, 0xd
pop esi
mov dword [ebx + 0x18], ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003bd00
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1003bd00
mov esp, ebp
pop ebp
ret 0xc