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

Disassembly:
sub esp, 0x5c
mov eax, dword [0x1023904c]
xor eax, esp
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x6c]
push ebx
push ebp
mov ebp, dword [esp + 0x78]
push esi
mov esi, dword [ecx + 0x6c]
xor edx, edx
push edi
lea ecx, [esp + 0x10]
push ecx
push edx
push dword [esp + 0x7c]
mov ecx, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x34], edx
mov edi, edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], esi
mov dword [ebp], edx
call fcn.1002ab62
mov ebx, eax
test ebx, ebx
js 0x101ac09f
lea eax, [esp + 0x14]
push eax
push edi
push dword [esp + 0x84]
mov ecx, esi
call fcn.1002ab62
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov esi, dword [esp + 0x10]
cmp esi, dword [esp + 0x14]
jne 0x101aba9a
mov dword [ebp], 1
jmp 0x101ac0a3
push dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
call fcn.1001b903
mov edx, 0x200
test word [eax + 2], dx
je 0x101abad6
test byte [esi + 0x50], 2
mov dword [esp + 0x28], esi
jne 0x101abacb
mov ecx, esi
call fcn.10021670
mov esi, dword [esp + 0x10]
mov ebx, eax
jmp 0x101abacd
xor ebx, ebx
test ebx, ebx
jns 0x101abb24
jmp 0x101ac0a3
push dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
call fcn.1001b903
mov ecx, 0x3c00
test word [eax + 2], cx
je 0x101abb11
push dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
call fcn.1001b903
mov ax, word [eax + 2]
mov ecx, 0x3c00
and ax, cx
mov ecx, 0x400
cmp ax, cx
jne 0x101abb24
mov eax, dword [esi]
lea ecx, [esp + 0x30]
push ecx
push 0x1002b91c
push esi
call dword [eax]
mov esi, dword [esp + 0x10]
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x24]
call fcn.1001b903
mov ecx, 0x200
test word [eax + 2], cx
je 0x101abb60
mov ecx, dword [esp + 0x14]
test byte [ecx + 0x50], 2
mov edi, ecx
jne 0x101abb55
call fcn.10021670
mov esi, dword [esp + 0x10]
mov ebx, eax
jmp 0x101abb57
xor ebx, ebx
test ebx, ebx
jns 0x101abbb2
jmp 0x101ac0a3
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x24]
call fcn.1001b903
mov ecx, 0x3c00
test word [eax + 2], cx
je 0x101abb9b
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x24]
call fcn.1001b903
mov ax, word [eax + 2]
mov ecx, 0x3c00
and ax, cx
mov ecx, 0x400
cmp ax, cx
jne 0x101abbb2
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea edx, [esp + 0x2c]
push edx
push 0x1002b91c
push ecx
call dword [eax]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x101abc6a
test edi, edi
je 0x101abbee
mov esi, dword [edi + 0x14]
mov ecx, dword [ecx + 0x14]
lea esi, [esi + 0x218]
lea edi, [esp + 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x38]
push eax
add ecx, 0x104
movsd dword es:[edi], dword [esi]
call fcn.101c728c
mov dword [ebp], eax
jmp 0x101ac09f
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea edx, [esp + 0x34]
push edx
push 0x1002b92c
push ecx
call dword [eax]
mov esi, dword [esp + 0x28]
test eax, eax
jne 0x101abc25
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x18], 3
jne 0x101abc1f
cmp dword [ecx + 0xc], esi
jne 0x101abc1f
mov dword [ebp], 1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
cmp dword [ebp], 0
jne 0x101ac09f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov ecx, dword [esi + 0x14]
push dword [esp + 0x18]
add ecx, 0x104
call fcn.101c728c
mov dword [ebp], eax
mov eax, dword [esp + 0x14]
push dword [esp + 0x18]
jmp 0x101ac099
test edi, edi
je 0x101abcda
mov eax, dword [esi]
lea ecx, [esp + 0x34]
push ecx
push 0x1002b92c
push esi
call dword [eax]
test eax, eax
jne 0x101abc9d
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x18], 3
jne 0x101abc97
cmp dword [ecx + 0xc], edi
jne 0x101abc97
mov dword [ebp], 1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
cmp dword [ebp], 0
jne 0x101ac09f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov ecx, dword [edi + 0x14]
push dword [esp + 0x1c]
add ecx, 0x104
call fcn.101c728c
mov dword [ebp], eax
jmp 0x101ac091
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x101abd78
cmp dword [esp + 0x2c], 0
je 0x101abd30
lea eax, [esp + 0x38]
push eax
call fcn.100a13be
mov ecx, dword [esp + 0x2c]
mov esi, eax
lea edi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x58]
push eax
movsd dword es:[edi], dword [esi]
call fcn.100a13be
mov esi, eax
lea edi, [esp + 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 4
xor eax, eax
pop ecx
lea edi, [esp + 0x38]
lea esi, [esp + 0x48]
repe cmpsd dword [esi], dword es:[edi]
sete al
jmp 0x101abbe6
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea edx, [esp + 0x18]
push edx
push ecx
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x58]
push eax
call fcn.100a13be
mov esi, eax
lea edi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
push 4
xor eax, eax
pop ecx
lea edi, [esp + 0x48]
repe cmpsd dword [esi], dword es:[edi]
sete al
jmp 0x101abc5a
cmp dword [esp + 0x2c], 0
je 0x101abdc3
mov eax, dword [esi]
lea ecx, [esp + 0x1c]
push ecx
push esi
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x58]
push eax
call fcn.100a13be
mov esi, eax
lea edi, [esp + 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
push 4
xor eax, eax
pop ecx
lea edi, [esp + 0x38]
repe cmpsd dword [esi], dword es:[edi]
sete al
jmp 0x101abcd2
mov edi, dword [esp + 0x24]
push dword [esp + 0x74]
mov ecx, edi
call fcn.1001b903
mov ax, word [eax + 2]
mov ebx, 0x3c00
and ax, bx
mov edx, 0xc00
cmp ax, dx
je 0x101abe08
push dword [esp + 0x74]
mov ecx, edi
call fcn.1001b903
mov ax, word [eax + 2]
and ax, bx
mov ecx, 0x1000
cmp ax, cx
jne 0x101abf2e
mov ebx, dword [esp + 0x20]
push dword [esp + 0x7c]
mov ecx, ebx
call fcn.1001b903
mov ax, word [eax + 2]
mov ecx, 0x3c00
and ax, cx
mov ecx, 0x1400
cmp ax, cx
jne 0x101abf32
mov ecx, dword [esp + 0x14]
and dword [esp + 0x20], 0
mov eax, dword [ecx]
lea edx, [esp + 0x18]
push edx
push ecx
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
movzx esi, word [edx + 0x30]
push edx
push eax
call dword [ecx + 0x4c]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
dec esi
push esi
push eax
call dword [ecx + 0x24]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
test byte [esp + 0x24], 2
jne 0x101abe62
test byte [esp + 0x24], 1
je 0x101abe62
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push esi
push eax
call dword [ecx + 0x20]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push edx
push dword [esp + 0x2c]
push eax
call dword [ecx + 0x38]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
push 4
xor eax, eax
pop ecx
push dword [esp + 0x1c]
repe cmpsd dword [esi], dword es:[edi]
sete al
mov dword [ebp], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
jmp 0x101abc5d
mov ebx, dword [esp + 0x20]
push dword [esp + 0x7c]
mov ecx, ebx
call fcn.1001b903
mov ax, word [eax + 2]
mov ecx, 0x3c00
and ax, cx
mov ecx, 0xc00
cmp ax, cx
je 0x101abf78
push dword [esp + 0x7c]
mov ecx, ebx
call fcn.1001b903
mov ax, word [eax + 2]
mov ecx, 0x3c00
and ax, cx
mov ecx, 0x1000
cmp ax, cx
jne 0x101ac048
push dword [esp + 0x74]
mov ecx, edi
call fcn.1001b903
mov ax, word [eax + 2]
mov ecx, 0x3c00
and ax, cx
mov ecx, 0x1400
cmp ax, cx
jne 0x101ac048
and dword [esp + 0x20], 0
mov eax, dword [esi]
lea ecx, [esp + 0x1c]
push ecx
push esi
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
movzx esi, word [edx + 0x30]
push edx
push eax
call dword [ecx + 0x4c]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
dec esi
push esi
push eax
call dword [ecx + 0x24]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
test byte [esp + 0x24], 2
jne 0x101abfca
test byte [esp + 0x24], 1
je 0x101abfca
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push esi
push eax
call dword [ecx + 0x20]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push edx
push dword [esp + 0x2c]
push eax
call dword [ecx + 0x38]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x14], ecx
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
jmp 0x101abee3
mov eax, dword [esi]
lea ecx, [esp + 0x1c]
push ecx
push esi
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac09f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
js 0x101ac091
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
push 4
xor eax, eax
pop ecx
push dword [esp + 0x18]
repe cmpsd dword [esi], dword es:[edi]
sete al
mov dword [ebp], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
push dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov esi, dword [esp + 0x10]
test esi, esi
je 0x101ac0b2
mov eax, dword [esi]
push esi
call dword [eax + 8]
and dword [esp + 0x10], 0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x101ac0c5
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [esp + 0x14], 0
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x101ac0d3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x101ac0e1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x68]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.10001e57
add esp, 0x5c
ret 0x14