Function at 0x10036cd0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x1003f6e4]
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.100323b0
cmp ax, 1
jne case.default.0x10036fa2
cmp dword [ebp - 0x88], 8
jne case.default.0x10036fa2
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.0x10036fa2
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.100323b0
movzx eax, ax
test ax, ax
je 0x10036f83
jmp 0x10036db0
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x88]
cmp ax, 1
jne case.default.0x10036dd2
lea eax, [esi - 3]
cmp eax, 3
ja case.default.0x10036dd2
jmp dword [eax*4 + 0x100374a8]
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.0x10036dd2
mov eax, dword [ebp - 0x94]
mov ecx, 0xf
mov word [eax], cx
jmp case.default.0x10036dd2
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 0x10036e43
mov eax, dword [ebp - 0x94]
mov ecx, 0xd
mov word [eax], cx
jmp case.default.0x10036dd2
push esi
push dword [ebp - 0x9c]
push 0x100047b8
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.default.0x10036dd2
mov ecx, dword [ebp - 0x94]
cmp word [ecx], ax
setne al
lea eax, [eax*4 + 0x10]
jmp 0x10036f48
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.0x10036dd2
mov ecx, dword [ebp - 0x94]
movsx eax, word [ecx]
neg eax
sbb eax, eax
and eax, 5
add eax, 0xe
jmp 0x10036f48
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 0x10036efd
mov ecx, dword [ebp - 0x94]
movzx eax, word [ecx]
test ax, ax
jne 0x10036ee9
mov eax, 0x11
jmp 0x10036f48
cmp ax, 0xf
jne 0x10036ef6
mov eax, 0x15
jmp 0x10036f48
mov eax, 0x17
jmp 0x10036f48
push esi
push dword [ebp - 0x9c]
push 0x100047e0
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.default.0x10036dd2
mov ecx, dword [ebp - 0x94]
movzx eax, word [ecx]
test ax, ax
jne 0x10036f2b
mov eax, 0x12
jmp 0x10036f48
cmp ax, 0xf
jne 0x10036f38
mov eax, 0x16
jmp 0x10036f48
cmp ax, 0x10
mov eax, 0x18
je 0x10036f48
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.100323b0
movzx eax, ax
test ax, ax
jne 0x10036db0
mov eax, dword [ebp - 0x94]
movzx ecx, word [eax]
movsx eax, cx
add eax, 0xfffffff3
cmp eax, 0xc
ja case.default.0x10036fa2
movzx eax, byte [eax + 0x100374c8]
jmp dword [eax*4 + 0x100374b8]
mov eax, 8
jmp 0x10036fc3
mov eax, 0xc
jmp 0x10036fc3
mov eax, 0x10
jmp 0x10036fc3
mov eax, 0x14
mov edx, dword [ebp - 0x98]
xor ebx, ebx
mov esi, dword [0x10041578]
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 0x10037042
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 0x10037020
cmp byte [eax + edx], bl
jne 0x10037020
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 0x10037345
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.100323b0
cmp byte [esi], 0xc
movzx edx, ax
jne 0x10037169
mov ebx, dword [ebp - 0x84]
movzx ecx, word [edi + ebx*2]
movzx eax, byte [esi + 1]
cmp cx, ax
jne 0x10037151
cmp ecx, 0x2d
jne 0x100370d9
mov eax, dword [ebp - 0x98]
mov ecx, 1
mov word [eax + 4], cx
jmp 0x1003710f
cmp ecx, 0x28
jne 0x100370ea
mov dword [ebp - 0xa4], 1
jmp 0x1003710f
cmp ecx, 0x2e
jne 0x100370fb
mov dword [ebp - 0xa8], 1
jmp 0x1003710f
cmp ecx, 0x2c
jne 0x1003710f
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.100323b0
mov ebx, dword [ebp - 0x84]
movzx edx, ax
jmp 0x1003715a
movzx eax, byte [esi + 2]
add esi, 2
add esi, eax
cmp byte [esi], 0xc
je 0x100370b2
mov dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x84]
test dx, dx
je 0x1003733f
cmp dx, 1
jne 0x1003719b
mov eax, dword [ebp - 0x90]
cmp word [eax + edi*2], 0x27
jne 0x1003719b
mov ebx, 1
mov dword [ebp - 0x88], ebx
lea edx, [ebx + 2]
jmp 0x100371a1
mov ebx, dword [ebp - 0x88]
mov cl, byte [esi]
inc esi
movzx eax, cl
cmp ax, dx
je 0x100371cf
cmp cl, 1
jne case.default.0x10036fa2
cmp dx, 2
je 0x100371d9
pop edi
pop esi
mov eax, 0x84
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003a1d0
mov esp, ebp
pop ebp
ret 0xc
cmp dx, 2
jne 0x1003728c
mov cl, byte [esi]
test cl, cl
jle 0x100371e8
movzx eax, cl
cmp ebx, eax
jne case.default.0x10036fa2
test cl, cl
jns 0x100371f6
movsx ecx, cl
neg ecx
movsx eax, bl
cmp eax, ecx
jg case.default.0x10036fa2
mov edi, 0x1e
cmp ebx, 0x1e
jg 0x10037202
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 0x10037254
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 0x10037275
mov ecx, dword [ebp - 0x8c]
mov word [ecx], ax
add ecx, 2
mov dword [ebp - 0x8c], ecx
inc esi
jmp 0x1003732e
mov ecx, dword [ebp - 0xac]
mov dword [ecx], eax
add ecx, 4
mov dword [ebp - 0xac], ecx
inc esi
jmp 0x1003732e
cmp dx, 3
jne 0x100372ba
mov eax, dword [ebp - 0x90]
movzx ecx, word [eax + edi*2]
movzx eax, byte [esi]
cmp cx, ax
jne case.default.0x10036fa2
xor eax, eax
inc esi
cmp ecx, 0x29
sete al
dec eax
and dword [ebp - 0xa4], eax
jmp 0x1003732e
cmp dx, 1
jne 0x1003732e
movzx eax, byte [esi]
cmp ebx, eax
jne case.default.0x10036fa2
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.0x10036fa2
cmp ebx, 2
jne 0x10037328
push ebx
push edi
push 0x100047f0
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x10037328
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 0x10037060
jmp 0x10037345
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 0x10037385
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 0x1003737d
add esi, 2
sub ebx, 1
jne 0x10037360
jmp 0x10037385
test ebx, ebx
jne case.default.0x10036fa2
mov eax, dword [ebp - 0xb0]
movzx eax, word [eax]
cmp ax, 9
jg case.default.0x10036fa2
movsx ecx, ax
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
cmp eax, dword [ecx*4 + 0x10004800]
jae case.default.0x10036fa2
mov eax, dword [ebp - 0x94]
movzx eax, word [eax]
cmp ax, 0x13
jne 0x100373d0
mov ebx, dword [ebp - 0x98]
cmp dword [ebx + 0xc], 0xb
jbe 0x10037438
jmp case.default.0x10036fa2
cmp ax, 0x14
je 0x100373e2
cmp ax, 0x15
je 0x100373e2
cmp ax, 0x16
jne 0x100373f4
mov ebx, dword [ebp - 0x98]
cmp dword [ebx + 0xc], 0x17
ja case.default.0x10036fa2
jmp 0x100373fa
mov ebx, dword [ebp - 0x98]
cmp ax, 0x15
je 0x10037412
cmp ax, 0x16
je 0x10037412
cmp ax, 0x17
je 0x10037412
cmp ax, 0x18
jne 0x1003741c
cmp dword [ebx + 0x10], 0x3b
ja case.default.0x10036fa2
cmp ax, 0x16
je 0x1003742e
cmp ax, 0x18
je 0x1003742e
cmp ax, 0x19
jne 0x10037438
cmp dword [ebx + 0x14], 0x3b
ja case.default.0x10036fa2
cwde
add eax, 0xffffffee
cmp eax, 7
ja case.0x10037448.19
movzx eax, byte [eax + 0x100374e0]
jmp dword [eax*4 + 0x100374d8]
movzx eax, word [ebx + 0x1e]
cmp ax, 9
jg case.default.0x10036fa2
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.0x10037448.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.1003a1d0
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.1003a1d0
mov esp, ebp
pop ebp
ret 0xc