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

Disassembly:
sub esp, 0xb0
mov eax, dword [0x10130040]
xor eax, esp
mov dword [esp + 0xac], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0xc0]
xor ebx, ebx
push edi
mov dword [esp + 0x14], ebx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x50]
mov dword [esp + 0x20], eax
lea eax, [eax*2 - 0x10000]
push eax
mov eax, dword [ecx + 8]
add eax, 0x4c
push eax
push ecx
call fcn.1008b430
add esp, 0xc
mov ecx, esi
lea ebp, [eax - 0x10000]
mov eax, 0x8000
mov word [ebp + 0x10000], ax
xor eax, eax
mov dword [esp + 0x1c], ebp
mov dword [esi + 0x76], 0x11800000
mov word [esi + 0x74], ax
call fcn.100a84f0
movzx edi, word [esi + 6]
mov dword [esp + 0x2c], edi
lea eax, [edi*2 - 2]
cmp eax, dword [esi + 0xe8]
jbe 0x100a99b2
push eax
push esi
call fcn.100ab3e0
add esp, 8
mov edx, dword [esi + 0x1c]
lea edi, [edi + edi*2]
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffe
movzx ecx, byte [edx + edi*4 - 4]
imul ecx, eax
mov eax, dword [esi + 0x18]
lea eax, [ecx + eax*2]
cmp eax, dword [esi + 0xf4]
jbe 0x100a99e2
push eax
push esi
call fcn.100ab420
mov edx, dword [esi + 0x1c]
add esp, 8
cmp dword [esp + 0x20], 0x8001
mov ecx, dword [edx + edi*4 - 0xc]
mov eax, dword [esi + 0x20]
mov dword [esp + 0x10], 0x8001
lea eax, [eax + ecx*4]
mov dword [esp + 0x28], eax
movzx eax, byte [edx + edi*4 - 4]
mov edx, dword [esp + 0x28]
mov dword [edx + eax*4], 0xff000000
mov ecx, dword [esi + 0x1c]
lea eax, [edx + eax*4]
mov dword [esp + 0x38], eax
lea edi, [ecx + 0xc]
mov dword [esp + 0x24], edi
jbe 0x100a9c45
mov ebp, 0x8001
nop dword [eax]
movzx eax, word [edi + 4]
cmp ebp, eax
jb 0x100a9a4e
push dword [esp + 0x1c]
push edx
push edi
push esi
call fcn.100a97a0
add esp, 0x10
add edi, 0xc
mov dword [esp + 0x24], edi
mov eax, dword [esi + 0x10]
lea edi, [eax + ebp*8]
mov eax, dword [esp + 0x1c]
movzx ebp, word [edi]
mov edx, ebp
cmp edx, 0x8000
jb 0x100a9a69
movzx edx, word [eax + edx*2]
movzx ebx, word [edi + 2]
mov ecx, ebx
cmp ecx, 0x8000
jb 0x100a9a7b
movzx ecx, word [eax + ecx*2]
movzx eax, byte [edi + 5]
test byte [eax + 0x10119c10], 0x60
jne 0x100a9aa1
cmp edx, ebp
jne 0x100a9aa1
cmp ecx, ebx
jne 0x100a9aa1
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov word [eax + ebp*2], bp
jmp 0x100a9c22
mov al, byte [edi + 4]
mov ebx, 0xffbf
mov byte [esp + 0x1b], al
mov ax, word [edi + 4]
and ax, bx
mov word [esi + 0x76], cx
mov ecx, esi
mov word [esi + 0x78], ax
mov word [esi + 0x74], dx
call fcn.100c5ff0
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
movzx ebx, ax
lea ecx, [ecx + ebp*2]
mov eax, ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov word [ecx], bx
cmp eax, ebp
je 0x100a9c22
mov edi, dword [esi + 0x10]
lea edx, [edi + eax*8]
cmp eax, dword [esp + 0x20]
jae 0x100a9bd4
cmp eax, 0x8000
jb 0x100a9b30
mov cl, byte [edx + 4]
test cl, 0x40
jne 0x100a9b30
mov ebp, dword [esp + 0x14]
mov al, cl
and al, 0x1f
cmp al, 2
jbe 0x100a9b34
or cl, 0x40
mov byte [edx + 4], cl
cmp ebp, 0x40
jae 0x100a9ca6
mov word [esp + ebp*2 + 0x3c], bx
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x100a9b34
mov ebp, dword [esp + 0x14]
mov bl, byte [edx + 4]
mov al, byte [esp + 0x1b]
mov cl, bl
xor cl, al
test cl, 0x1f
je 0x100a9c1e
movzx edi, al
and edi, 0x1f
movzx edx, bl
add edi, 0xfffffff1
and edx, 0x1f
cmp edi, 4
ja 0x100a9b68
lea ecx, [edx - 0xf]
cmp ecx, 4
jbe 0x100a9c1e
and al, 0x1f
cmp al, 0xe
jne 0x100a9b82
lea eax, [edx - 0xf]
cmp eax, 4
ja 0x100a9b82
mov eax, 0x1d3
mov ecx, 0x550e
jmp 0x100a9ba1
and bl, 0x1f
cmp bl, 0xe
jne 0x100a9c9e
cmp edi, 4
ja 0x100a9c9e
mov eax, 0x326e
mov ecx, 0x5593
mov word [esi + 0x78], cx
mov ecx, dword [esp + 0x30]
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x76], ax
call fcn.100c5ff0
movzx ecx, ax
mov eax, dword [esp + 0x34]
mov word [eax], cx
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], ebp
lea edx, [eax + ecx*8]
cmp ecx, dword [esp + 0x20]
jae 0x100a9c1e
jmp 0x100a9bf7
cmp eax, 0xffff
je 0x100a9c22
cmp byte [edx + 5], 0x55
jne 0x100a9c22
mov ebx, dword [esp + 0x20]
cmp eax, ebx
jbe 0x100a9c22
movzx ecx, word [edx]
cmp ecx, ebx
jae 0x100a9c22
mov ebp, dword [esp + 0x14]
lea edx, [edi + ecx*8]
cmp ecx, 0x8000
jb 0x100a9c1e
mov al, byte [edx + 4]
test al, 0x40
jne 0x100a9c1e
or al, 0x40
mov byte [edx + 4], al
cmp ebp, 0x40
jae 0x100a9ca6
mov word [esp + ebp*2 + 0x3c], cx
inc ebp
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x10]
inc ebp
mov dword [esp + 0x10], ebp
cmp ebp, dword [esp + 0x20]
jae 0x100a9c3a
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
jmp 0x100a9a30
mov ecx, dword [esi + 0x1c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
cmp byte [esi + 0x72], 0
jl 0x100a9c61
mov eax, 0xffff
add word [esi + 6], ax
movzx eax, word [esi + 6]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*4]
mov dword [esi + 0x18], eax
movzx ecx, byte [ecx + 8]
mov eax, dword [esi + 0x20]
push dword [esp + 0x2c]
push ebx
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
lea eax, [esp + 0x44]
push eax
push ebp
push esi
call fcn.100a9470
mov ecx, dword [esp + 0xd0]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100819e4
add esp, 0xb0
ret
push 0x1a
push esi
call fcn.1008e6a0
push 0x19
push esi
call fcn.1008e6a0
int3