Function at 0x100bff20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 0x10]
sub esp, 0x84
cmp eax, 1
push ebx
push ebp
push esi
push edi
je 0x100bff3d
cmp eax, 2
mov ebx, 1
jne 0x100bff44
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov edx, dword [ebp + 4]
mov edi, dword [eax + 4]
cmp edx, edi
mov dword [esp + 0x10], edx
jg 0x100bff64
mov dword [esp + 0x10], edi
mov ecx, dword [ebp]
mov esi, dword [eax]
cmp ecx, esi
mov eax, ecx
jg 0x100bff71
mov eax, esi
cmp edx, edi
jl 0x100bff77
mov edx, edi
cmp ecx, esi
jl 0x100bff7d
mov ecx, esi
mov edi, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x34], ecx
test eax, eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
jne 0x100bffbd
mov eax, dword [esp + 0x98]
mov ebx, eax
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov eax, ebx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
lea eax, [edi + 1]
push eax
mov dword [esp + 0x74], eax
push eax
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x100bfff4
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x100c036f
mov eax, 0x55555556
mov ecx, 0xa
imul ebx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, edx
cmp eax, 0xa
jl 0x100c0010
mov ecx, eax
cmp eax, 3
jge 0x100c001a
mov eax, 3
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xb0]
dec edx
imul edx, eax
add edx, edi
add edx, ecx
dec esi
imul esi, eax
add esi, ecx
mov dword [esp + 0x48], edx
lea esi, [ebx + esi*2]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0xc0]
dec esi
imul esi, eax
add esi, edi
mov edi, dword [esp + 0xbc]
add esi, ecx
dec edi
imul edi, eax
add edi, ecx
mov dword [esp + 0x6c], esi
lea eax, [ebx + edi*2]
mov dword [esp + 0x74], eax
mov eax, SysReAllocString
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x10], eax
jmp 0x100c0096
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0x6c]
xor eax, eax
cmp dword [esp + 0x10], eax
jne 0x100c00c9
mov eax, dword [ebp + 4]
mov ecx, dword [ebp]
mov ebx, dword [esp + 0xac]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], ecx
mov esi, edx
mov ecx, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp + 0x1c], ecx
jmp 0x100c00f2
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0xb8]
mov edi, dword [esp + 0x74]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp]
mov ebp, dword [ebp + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
test ebx, ebx
mov dword [esp + 0x20], ebp
je 0x100c0315
cmp ebx, 5
jg 0x100c019a
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x1c]
push ecx
push 0
push 0
push 0
push edi
lea eax, [esp + 0x28]
push edx
push eax
call fcn.100bf990
push 0
lea ecx, [esp + 0x7c]
push 0
lea edx, [esp + 0x70]
push ecx
push edx
lea eax, [esp + 0xa8]
push esi
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.100bf990
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
add esp, 0x38
mov dword [esp + 0x58], eax
cmp ebx, 4
mov dword [esp + 0x54], edx
mov eax, 3
je 0x100c0169
cmp ebx, 5
jne 0x100c02ac
mov eax, edi
lea ecx, [esp + 0x64]
cdq
and edx, 3
push 0
add eax, edx
push ecx
push 0
push 0
sar eax, 2
push eax
lea edx, [esp + 0x90]
lea eax, [esp + 0x28]
push edx
push eax
call fcn.100bf990
add esp, 0x1c
jmp 0x100c02a7
cmp ebx, 6
je 0x100c025e
cmp ebx, 7
je 0x100c025e
cmp ebx, 8
je 0x100c01e3
cmp ebx, 9
je 0x100c01e3
mov eax, edi
cdq
sub eax, edx
mov edx, ecx
sar eax, 1
sub edx, eax
add eax, ecx
mov dword [esp + 0x4c], edx
mov edx, ebp
sub edx, esi
add ebp, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], ebp
mov eax, 2
jmp 0x100c02ac
lea eax, [esp + 0x84]
lea ecx, [esp + 0x8c]
push eax
mov eax, edi
cdq
sub eax, edx
push ecx
push 0
push 0
sar eax, 1
push eax
lea edx, [esp + 0x30]
lea eax, [esp + 0x28]
push edx
push eax
call fcn.100bf990
push 0
lea ecx, [esp + 0x84]
push 0
lea edx, [esp + 0x70]
push ecx
push edx
lea eax, [esp + 0xb0]
push esi
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.100bf990
push 0
lea edx, [esp + 0x98]
push 0
lea eax, [esp + 0x94]
push edx
push eax
lea ecx, [esp + 0xd4]
push esi
lea edx, [esp + 0x60]
push ecx
push edx
call fcn.100bf990
add esp, 0x54
jmp 0x100c02a7
push 0
lea eax, [esp + 0x60]
push 0
lea ecx, [esp + 0x54]
push eax
push ecx
lea edx, [esp + 0x2c]
push esi
lea eax, [esp + 0x28]
push edx
push eax
call fcn.100bf990
lea ecx, [esp + 0x80]
lea edx, [esp + 0x70]
push ecx
mov eax, edi
push edx
push 0
cdq
sub eax, edx
push 0
sar eax, 1
push eax
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.100bf990
add esp, 0x38
mov eax, 4
cmp ebx, 2
je 0x100c02ca
cmp ebx, 3
je 0x100c02ca
cmp ebx, 5
je 0x100c02ca
cmp ebx, 7
je 0x100c02ca
cmp ebx, 9
je 0x100c02ca
cmp ebx, 0xb
jne 0x100c02d2
mov dword [esp + 0x44], 1
test eax, eax
jle 0x100c0311
lea esi, [esp + 0x50]
mov edx, dword [esi - 4]
mov ecx, dword [esp + 0x24]
cmp edx, ecx
jge 0x100c02e9
mov dword [esp + 0x24], edx
mov ecx, dword [esi]
mov edi, dword [esp + 0x28]
cmp ecx, edi
jge 0x100c02f7
mov dword [esp + 0x28], ecx
cmp edx, dword [esp + 0x2c]
jle 0x100c0301
mov dword [esp + 0x2c], edx
cmp ecx, dword [esp + 0x30]
jle 0x100c030b
mov dword [esp + 0x30], ecx
add esi, 8
dec eax
jne 0x100c02da
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 1
mov dword [esp + 0x10], eax
jle 0x100c0089
cmp dword [esp + 0x24], 0x7fffffff
je 0x100c036f
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100c036f
lea ecx, [esp + 0x24]
call fcn.100fe0d3
cmp dword [esp + 0x44], 1
jne 0x100c035a
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x24]
push eax
push eax
push edx
call dword [sym.imp.USER32.dll_InflateRect]
lea eax, [esp + 0x24]
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x38]
push ecx
push edx
call dword [sym.imp.USER32.dll_UnionRect]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x34]
mov ecx, eax
pop edi
pop esi
pop ebp
mov dword [ecx], edx
mov edx, dword [esp + 0x2c]
pop ebx
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov dword [ecx + 0xc], edx
add esp, 0x84
ret