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

Disassembly:
push ebx
push ebp
push edi
mov edi, dword [esp + 0x10]
test edi, edi
je case.default.0x100994fc
mov eax, dword [esp + 0x14]
cmp eax, 0x1b
ja case.default.0x100994fc
jmp dword [eax*4 + 0x10099820]
cmp dword [esp + 0x18], 0
setne al
mov byte [edi + 4], al
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
cmp dword [esp + 0x18], 0
setne al
mov byte [edi + 5], al
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
cmp dword [esp + 0x18], 0
setne al
mov byte [edi + 6], al
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
cmp dword [esp + 0x18], 0
setne al
mov byte [edi + 7], al
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
cmp dword [esp + 0x18], 0
setne al
mov byte [edi + 8], al
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
cmp dword [esp + 0x18], 0
setne al
mov byte [edi + 9], al
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
cmp dword [esp + 0x18], 0
setne al
mov byte [edi + 0xa], al
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
cmp eax, 1
ja case.default.0x100994fc
mov dword [edi + 0xc], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
cmp eax, 2
ja case.default.0x100994fc
mov dword [edi + 0x10], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x100995d5
cmp eax, 0xff
ja case.default.0x100994fc
mov dword [edi + 0x14], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x100995f5
cmp eax, 0xff
ja case.default.0x100994fc
mov dword [edi + 0x18], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
cmp eax, 1
ja case.default.0x100994fc
mov dword [edi + 0x1c], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
cmp eax, 2
ja case.default.0x100994fc
mov dword [edi + 0x20], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
jne 0x10099660
mov eax, dword [edi]
cmp eax, 2
ja case.default.0x100994fc
mov eax, dword [eax*4 + 0x101d9c48]
mov eax, dword [eax + 0x24]
mov dword [edi + 0x24], eax
mov eax, 0x100000
mov dword [edi + 0x24], ecx
pop edi
pop ebp
pop ebx
ret
cmp ecx, 0xff
ja case.default.0x100994fc
mov dword [edi + 0x24], ecx
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
cmp eax, 1
ja case.default.0x100994fc
mov dword [edi + 0x28], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
cmp eax, 2
ja case.default.0x100994fc
mov dword [edi + 0x2c], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
jne 0x100996d7
mov eax, dword [edi]
cmp eax, 2
ja case.default.0x100994fc
mov eax, dword [eax*4 + 0x101d9c48]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x30], eax
mov eax, 0x100000
mov dword [edi + 0x30], ecx
pop edi
pop ebp
pop ebx
ret
cmp ecx, 0xff
ja case.default.0x100994fc
mov dword [edi + 0x30], ecx
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, 2
mov dword [edi + 0x34], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, 2
mov dword [edi + 0x38], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, 2
mov dword [edi + 0x3c], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, 2
mov dword [edi + 0x40], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, 2
mov dword [edi + 0x44], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
xor ebp, ebp
lea eax, [ebp + 0x4c]
jmp 0x100997ad
mov ebp, 0x30
lea eax, [ebp + 0x4c]
jmp 0x100997ad
cmp dword [esp + 0x18], 0
setne al
mov byte [edi + 0x48], al
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
cmp dword [esp + 0x18], 0
setne al
mov byte [edi + 0x49], al
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov ebp, 0x60
lea eax, [ebp + 0x4c]
jmp 0x100997ad
mov ebp, 0x90
lea eax, [ebp + 0x4c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x10099805
mov ebx, ecx
lea edx, [ebx + 1]
nop word [eax + eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x100997c0
sub ebx, edx
cmp ebx, 0xa
ja case.default.0x100994fc
push esi
push ebx
lea esi, [edi + 0x70]
push ecx
add esi, ebp
push esi
call fcn.100c5a80
lea eax, [ebx + ebp]
add esp, 0xc
mov byte [eax + edi + 0x70], 0
lea eax, [ebx + 1]
mov dword [edi + ebp + 0x5c], eax
lea eax, [edi + 0x50]
mov dword [edi + ebp + 0x6c], esi
add eax, ebp
pop esi
mov dword [edi + ebp + 0x4c], eax
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
mov dword [edi + eax], 0
mov eax, 0x100000
pop edi
pop ebp
pop ebx
ret
pop edi
pop ebp
mov eax, 0x80100004
pop ebx
ret