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

Disassembly:
mov eax, 0x1021b85d
call fcn.10210210
sub esp, 0x14
and dword [esp + 4], 0
push ebx
push ebp
mov ebp, dword [esp + 0x34]
mov ebx, ecx
push esi
mov esi, dword [esp + 0x3c]
push edi
cmp dword [esi + 8], ebp
jne 0x100a69fb
sub esp, 0x10
mov ecx, esp
push ecx
and dword [ecx], 0
and dword [ecx + 4], 0
mov eax, dword [ebp + 0x88]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x8c]
mov dword [ecx + 0xc], eax
dec dword [ecx + 8]
dec dword [ecx + 0xc]
mov eax, dword [esi + 0xc]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
call fcn.1003ceae
add esp, 0x18
test al, al
je 0x100a69fb
mov dword [esi + 0x24], 7
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
test byte [esi + 0x1c], al
je 0x100a6ad3
cmp dword [esi + 4], 4
jne 0x100a6ae8
mov eax, dword [esp + 0x44]
xor edx, edx
mov edi, dword [eax]
test edi, edi
je 0x100a6a26
mov eax, dword [edi - 4]
jmp 0x100a6a28
xor eax, eax
dec eax
cmp edx, eax
jge 0x100a6a3f
mov ecx, dword [edi + edx*4 + 4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ecx + 0x78]
jg 0x100a6a3c
inc edx
jmp 0x100a6a1d
mov dword [ebx + 0x18], edx
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x10], eax
mov ecx, dword [esi + 8]
call fcn.100a5ee6
test al, al
je 0x100a6a6e
and dword [esp + 0x40], 0
push ecx
lea ecx, [esp + 0x44]
call fcn.1000fdf5
and dword [esp + 0x2c], 0
lea edx, [esp + 0x40]
xor ebx, ebx
inc ebx
jmp 0x100a6a8c
and dword [esp + 0x44], 0
lea ecx, [esp + 0x44]
push ebp
call fcn.1000fdf5
push 2
lea edx, [esp + 0x48]
mov dword [esp + 0x30], 1
pop ebx
mov ecx, dword [esp + 0x38]
push dword [edx]
mov dword [esp + 0x18], ebx
mov eax, dword [ecx]
call dword [eax + 0x138]
and dword [esp + 0x2c], 0
test bl, 2
je 0x100a6abc
mov ecx, dword [esp + 0x44]
and ebx, 0xfffffffd
mov dword [esp + 0x14], ebx
test ecx, ecx
je 0x100a6abc
mov eax, dword [ecx]
call dword [eax + 4]
or dword [esp + 0x2c], 0xffffffff
test bl, 1
je 0x100a6ad3
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x100a6ad3
mov eax, dword [ecx]
call dword [eax + 4]
xor al, al
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10
cmp dword [ebx + 0x18], 0
jl 0x100a6ad3
mov edi, dword [esp + 0x44]
mov ecx, dword [edi]
test ecx, ecx
je 0x100a6afd
mov eax, dword [ecx - 4]
jmp 0x100a6aff
xor eax, eax
dec eax
cmp dword [ebx + 0x18], eax
jg 0x100a6ad3
test ecx, ecx
je 0x100a6b0e
mov eax, dword [ecx - 4]
jmp 0x100a6b10
xor eax, eax
test eax, eax
jle 0x100a6ad3
mov ecx, dword [esp + 0x38]
push edi
call fcn.100a7396
mov edx, eax
mov dword [esp + 0x14], edx
test edx, edx
js 0x100a6ad3
and dword [esp + 0x40], 0
mov dword [esp + 0x2c], 2
mov byte [ebx + 0x1c], 0
mov dword [esi + 0x24], 7
mov ecx, dword [edi]
test ecx, ecx
je 0x100a6b4b
mov eax, dword [ecx - 4]
jmp 0x100a6b4d
xor eax, eax
cmp eax, 2
jle 0x100a6ba3
test ecx, ecx
je 0x100a6b5b
mov eax, dword [ecx - 4]
jmp 0x100a6b5d
xor eax, eax
add eax, 0xfffffffe
cmp dword [ebx + 0x18], eax
jl 0x100a6ba3
test ecx, ecx
je 0x100a6b6e
mov eax, dword [ecx - 4]
jmp 0x100a6b70
xor eax, eax
dec eax
cmp eax, edx
jne 0x100a6b8d
test ecx, ecx
je 0x100a6b7e
mov ecx, dword [ecx - 4]
jmp 0x100a6b80
xor ecx, ecx
add ecx, 0xfffffffe
mov dword [ebx + 0x18], ecx
mov eax, dword [edi]
push dword [eax + ecx*4]
jmp 0x100a6bc0
test ecx, ecx
je 0x100a6b96
mov ecx, dword [ecx - 4]
jmp 0x100a6b98
xor ecx, ecx
dec ecx
mov dword [ebx + 0x18], ecx
mov eax, dword [edi]
push dword [eax + ecx*4]
jmp 0x100a6bae
mov eax, dword [ebx + 0x18]
cmp eax, edx
jne 0x100a6bbd
push dword [ecx + eax*4 + 4]
lea ecx, [esp + 0x44]
call fcn.1000fdf5
mov byte [ebx + 0x1c], 0
jmp 0x100a6bcd
push dword [ecx + eax*4]
lea ecx, [esp + 0x44]
call fcn.1000fdf5
mov byte [ebx + 0x1c], 1
cmp byte [ebx + 0x1c], 0
je 0x100a6c48
mov edi, dword [ebx + 0x10]
sub edi, dword [esi + 0xc]
test edi, edi
jle 0x100a6c0e
mov eax, dword [ebp + 0xb0]
xor edx, edx
mov ecx, 0x7fffffff
cmp eax, ecx
cmove eax, edx
mov edx, dword [ebp + 0x88]
add eax, edi
cmp eax, edx
jl 0x100a6c0c
mov eax, dword [ebp + 0xb0]
xor esi, esi
cmp eax, ecx
mov edi, edx
cmove eax, esi
sub edi, eax
test edi, edi
mov esi, dword [esp + 0x40]
jns 0x100a6c35
mov eax, dword [esi]
mov ecx, esi
push 0
push dword [esp + 0x3c]
call dword [eax + 0x308]
mov edx, dword [esi + 0x88]
lea ecx, [edi + edx]
cmp ecx, eax
jge 0x100a6c35
mov edi, eax
sub edi, edx
mov ebp, dword [esi + 0x88]
add ebp, edi
js 0x100a6d90
sub dword [ebx + 0x10], edi
jmp 0x100a6cbb
mov edi, dword [esi + 0xc]
sub edi, dword [ebx + 0x10]
test edi, edi
jle 0x100a6c83
mov eax, dword [ebp + 0xb0]
xor edx, edx
mov ecx, 0x7fffffff
cmp eax, ecx
cmove eax, edx
mov edx, dword [ebp + 0x88]
add eax, edi
cmp eax, edx
jl 0x100a6c81
mov eax, dword [ebp + 0xb0]
xor esi, esi
cmp eax, ecx
mov edi, edx
cmove eax, esi
sub edi, eax
test edi, edi
mov esi, dword [esp + 0x40]
jns 0x100a6caa
mov eax, dword [esi]
mov ecx, esi
push 0
push dword [esp + 0x3c]
call dword [eax + 0x308]
mov edx, dword [esi + 0x88]
lea ecx, [edi + edx]
cmp ecx, eax
jge 0x100a6caa
mov edi, eax
sub edi, edx
mov ebp, dword [esi + 0x88]
add ebp, edi
js 0x100a6d90
add dword [ebx + 0x10], edi
xor eax, eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov ebx, dword [ecx]
test ebx, ebx
je 0x100a6cd0
mov ecx, dword [ebx - 4]
jmp 0x100a6cd2
xor ecx, ecx
cmp eax, ecx
jge 0x100a6d95
mov ebx, dword [ebx + eax*4]
test ebx, ebx
je 0x100a6d8a
mov ecx, dword [ebx + 0x88]
lea edi, [ebx + 0x38]
cmp dword [edi], 0
mov dword [esp + 0x1c], ecx
jne 0x100a6d25
call fcn.1002c931
mov dword [esp + 0x20], eax
mov byte [esp + 0x2c], 3
test eax, eax
je 0x100a6d12
mov ecx, eax
call fcn.1002c95e
jmp 0x100a6d14
xor eax, eax
push eax
mov ecx, edi
mov byte [esp + 0x30], 2
call fcn.1000fd99
mov eax, dword [esp + 0x3c]
mov edi, dword [edi]
lea ecx, [edi + 0x428]
cmp ebx, esi
jne 0x100a6d3e
call fcn.1002b150
mov dword [edi + 0x42c], ebp
jmp 0x100a6d6e
cmp eax, dword [esp + 0x14]
jne 0x100a6d5f
call fcn.1002b150
mov dword [edi + 0x42c], 0x64
mov dword [edi + 0x428], 4
jmp 0x100a6d78
call fcn.1002b150
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x42c], eax
mov dword [edi + 0x428], 7
mov eax, dword [ebx]
mov ecx, ebx
push dword [esp + 0x38]
call dword [eax + 0x270]
mov eax, dword [esp + 0x3c]
inc eax
jmp 0x100a6cbd
mov byte [esp + 0x18], 0
or dword [esp + 0x2c], 0xffffffff
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 4]
mov al, byte [esp + 0x18]
jmp 0x100a6ad5