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

Disassembly:
sub esp, 0x74
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x88]
push ebx
mov ebx, dword [esp + 0x90]
push ebp
push esi
mov esi, dword [esp + 0x9c]
push edi
mov edi, dword [esp + 0x90]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x54], esi
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], 0
mov eax, dword [ecx]
mov dword [esp + 0x58], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], 0
mov ecx, dword [eax + 0xbb0]
sub ecx, dword [esp + 0x94]
test esi, esi
je 0x10101be4
mov esi, dword [esi]
jmp 0x10101be8
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x88]
mov dword [ebx], eax
movsx ebp, ax
imul ebp, dword [edx + 0x10]
shr eax, 0x10
cwde
mov dword [esp + 0x2c], esi
add ebp, eax
add ebp, dword [edx]
cmp dword [edi + 0x10], 0
mov dword [esp + 0x28], ebp
lea ebp, [ecx - 1]
mov dword [esp + 0x34], ebp
je 0x10101f1d
mov ecx, dword [esp + 0x8c]
test ebp, ebp
js 0x101023fe
nop dword [eax + eax]
mov eax, dword [esp + 0x44]
xor edx, edx
imul ebx, ebp, 0x88
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], 1
add ebx, eax
mov eax, dword [eax + ebp*4 + 0xbb4]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x18], eax
cmp eax, 1
jl 0x10101ea9
mov esi, dword [esp + 0x8c]
add ebx, 0xc
mov dword [esp + 0x20], ebx
mov ecx, eax
mov ebp, dword [esp + 0x14]
movzx eax, word [ebx - 4]
add ax, word [ebp]
movzx ebp, ax
movzx eax, word [ebx - 2]
mov ebx, dword [esp + 0x14]
add ax, word [ebx + 2]
movzx ebx, ax
movsx eax, bx
cmp eax, dword [edi + 0x30]
jl 0x10101e35
cmp eax, dword [edi + 0x34]
jg 0x10101e35
movsx eax, bp
cmp eax, dword [edi + 0x38]
jl 0x10101e35
cmp eax, dword [edi + 0x3c]
jg 0x10101e35
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax]
add eax, dword [esp + 0x28]
cmp dword [edi + 0x14], 0
mov edx, dword [ecx]
mov ecx, dword [edi + 0x10]
je 0x10101cfe
push dword [edi + 0x1c]
push dword [edi + 0x18]
push dword [edi + 0x14]
push ecx
push dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
push eax
mov eax, dword [ecx + 0x10]
push eax
mov eax, dword [edi + 4]
push edx
mov eax, dword [eax + 0x24]
call eax
mov ecx, eax
add esp, 0x20
mov dword [esp + 0x24], ecx
jmp 0x10101d43
test ecx, ecx
je 0x10101d24
push ecx
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
push eax
mov eax, dword [ecx + 0x10]
push eax
mov eax, dword [edi + 4]
push edx
mov eax, dword [eax + 8]
call eax
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x24], ecx
jmp 0x10101d43
push dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
push eax
mov eax, dword [ecx + 0x10]
push eax
mov eax, dword [edi + 0x84]
push edx
call eax
add esp, 0x10
mov dword [esp + 0x24], eax
mov ecx, eax
cmp ecx, esi
jae 0x10101e2d
sub bx, word [edi + 0x6a]
sub bp, word [edi + 0x68]
movzx eax, byte [edi + 0x6c]
shl bx, 3
shl bp, 3
mov dword [esp + 0x48], ebx
cmp eax, 4
ja case.0x10101d6c.4
jmp dword [eax*4 + 0x10102428]
mov edx, dword [esp + 0x48]
xor ebx, ebx
test dx, dx
mov ecx, 2
movsx edx, dx
setne bl
xor eax, eax
test bp, bp
cmovne eax, ecx
mov ecx, dword [edi + 0x70]
or ebx, eax
mov eax, dword [edi + 0x78]
mov ebx, dword [ecx + ebx*4]
add ebx, dword [eax + edx*4]
mov eax, dword [edi + 0x74]
movsx ecx, bp
add ebx, dword [eax + ecx*4]
imul ebx, dword [edi + 0x80]
mov ecx, dword [esp + 0x24]
add ebx, 0x100
shr ebx, 9
jmp 0x10101e14
movsx eax, bx
cdq
mov ebx, eax
movsx eax, bp
xor ebx, edx
sub ebx, edx
cdq
xor eax, edx
sub eax, edx
add ebx, eax
shl ebx, 5
sar ebx, 3
jmp 0x10101e14
movsx eax, bx
cdq
mov ecx, eax
movsx eax, bp
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov ebx, ecx
shl ebx, 4
sub ebx, ecx
mov ecx, dword [esp + 0x24]
sar ebx, 3
jmp 0x10101e14
movsx eax, bx
cdq
mov ebx, eax
movsx eax, bp
xor ebx, edx
sub ebx, edx
cdq
xor eax, edx
sub eax, edx
add ebx, eax
jmp 0x10101e14
xor ebx, ebx
lea eax, [ebx + ecx]
mov ecx, dword [esp + 0x18]
cmp eax, esi
jae 0x10101e31
mov esi, eax
mov eax, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x1c], edx
jmp 0x10101e39
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
inc eax
add ebx, 8
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], ebx
cmp eax, ecx
jle 0x10101c72
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x2c]
test edx, edx
je 0x10101ea2
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x40], 1
movzx eax, word [ecx + edx*8]
mov esi, dword [ebx]
add ax, si
mov word [ebx], ax
movzx eax, word [ecx + edx*8 + 2]
add word [ebx + 2], ax
mov eax, dword [esp + 0x28]
add eax, dword [ecx + edx*8 + 4]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
jmp 0x10101f0b
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x40]
test ebx, ebx
jne 0x10101ecc
inc dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x8c], ecx
test edx, edx
jne 0x10101f0b
cmp ebp, 2
jle 0x10101f0b
mov ebx, dword [esp + 0x44]
lea edx, [ebx + 0xc08]
mov eax, dword [edx + ebp*4]
lea edx, [edx + ebp*4]
cmp eax, dword [ebx + ebp*4 + 0xc0c]
jne 0x10101f0b
mov esi, dword [esp + 0x30]
nop
mov ebx, edx
cmp ebp, 2
jle 0x10101f03
mov eax, dword [edx - 4]
sub edx, 4
inc esi
dec ebp
cmp eax, dword [ebx]
je 0x10101ef0
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x2c]
sub ebp, 1
mov dword [esp + 0x34], ebp
jns 0x10101c30
jmp 0x101023fe
test ebp, ebp
js 0x101023f7
nop word [eax + eax]
mov eax, dword [esp + 0x44]
movsx ecx, word [ebx + 2]
imul edx, ebp, 0x88
mov dword [esp + 0x24], 0
add edx, eax
mov eax, dword [eax + ebp*4 + 0xbb4]
mov dword [esp + 0x18], eax
movsx eax, word [ebx]
xor ebx, ebx
mov dword [esp + 0x48], edx
movsx ebp, word [edx + 0x10]
add ebp, eax
movsx eax, word [edx + 0x22]
add eax, ecx
cmp eax, dword [edi + 0x34]
movsx eax, word [edx + 0x1a]
setle bl
add eax, ecx
xor ecx, ecx
cmp eax, dword [edi + 0x30]
setge cl
xor edx, edx
and ebx, ecx
cmp ebp, dword [edi + 0x3c]
mov ebp, dword [esp + 0x14]
cmovle edx, ebx
mov ebx, dword [esp + 0x48]
movsx ecx, word [ebp]
movsx eax, word [ebx + 8]
add eax, ecx
xor ecx, ecx
cmp eax, dword [edi + 0x38]
setge cl
test ecx, edx
je 0x1010215d
mov ebx, 1
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x18], ebx
jl 0x10102354
mov esi, dword [esp + 0x48]
add esi, 0x14
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x28]
mov eax, dword [esi - 8]
add eax, ecx
mov dword [esp + 0x60], eax
mov eax, dword [esi]
add eax, ecx
mov dword [esp + 0x64], eax
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x10]
add eax, ecx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x5c]
mov eax, dword [edi + 0x88]
push dword [esp + 0x68]
call eax
mov eax, dword [esp + 0xa0]
add esp, 0x14
xor ebp, ebp
add esi, 0xfffffff4
nop word [eax + eax]
cmp dword [esp + ebp*4 + 0x70], eax
jae 0x1010212f
mov edx, dword [esp + 0x14]
movzx eax, word [esi]
add ax, word [edx]
movzx ecx, ax
movzx eax, word [esi + 2]
add ax, word [edx + 2]
sub cx, word [edi + 0x68]
movzx edx, ax
sub dx, word [edi + 0x6a]
movzx eax, byte [edi + 0x6c]
shl cx, 3
shl dx, 3
mov dword [esp + 0x1c], ecx
cmp eax, 4
ja case.0x10102063.4
jmp dword [eax*4 + 0x1010243c]
xor ebx, ebx
test dx, dx
movsx edx, dx
setne bl
xor eax, eax
test cx, cx
mov ecx, 2
cmovne eax, ecx
mov ecx, dword [edi + 0x70]
or ebx, eax
mov eax, dword [edi + 0x78]
mov ebx, dword [ecx + ebx*4]
add ebx, dword [eax + edx*4]
mov eax, dword [esp + 0x1c]
movsx ecx, ax
mov eax, dword [edi + 0x74]
add ebx, dword [eax + ecx*4]
imul ebx, dword [edi + 0x80]
add ebx, 0x100
shr ebx, 9
jmp 0x10102105
movsx eax, dx
cdq
mov ebx, eax
movsx eax, cx
xor ebx, edx
sub ebx, edx
cdq
xor eax, edx
sub eax, edx
add ebx, eax
shl ebx, 5
sar ebx, 3
jmp 0x10102105
movsx eax, dx
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
xor ecx, edx
cwde
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov ebx, ecx
shl ebx, 4
sub ebx, ecx
sar ebx, 3
jmp 0x10102105
movsx eax, dx
cdq
mov ebx, eax
movsx eax, cx
xor ebx, edx
sub ebx, edx
cdq
xor eax, edx
sub eax, edx
add ebx, eax
jmp 0x10102105
xor ebx, ebx
mov eax, dword [esp + ebp*4 + 0x70]
add eax, ebx
mov ebx, dword [esp + 0x20]
cmp eax, dword [esp + 0x8c]
jae 0x10102128
lea ecx, [ebx + ebp]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x24], ecx
jmp 0x1010212f
mov eax, dword [esp + 0x8c]
inc ebp
add esi, 8
cmp ebp, 4
jl 0x10102020
mov esi, dword [esp + 0x10]
add ebx, 4
add esi, 0x20
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], esi
cmp ebx, dword [esp + 0x18]
jle 0x10101fc6
jmp 0x10102303
cmp dword [esp + 0x18], 1
mov dword [esp + 0x10], 1
jl 0x10102354
mov esi, dword [esp + 0x8c]
lea eax, [ebx + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
movzx eax, word [eax - 4]
add ax, word [ebp]
mov ecx, dword [esp + 0x20]
movzx ebx, ax
movzx eax, word [ecx - 2]
add ax, word [ebp + 2]
movzx eax, ax
mov dword [esp + 0x4c], eax
cwde
cmp eax, dword [edi + 0x30]
jl 0x101022d2
cmp eax, dword [edi + 0x34]
jg 0x101022d2
movsx eax, bx
cmp eax, dword [edi + 0x38]
jl 0x101022d2
cmp eax, dword [edi + 0x3c]
jg 0x101022d2
mov eax, dword [ecx]
add eax, dword [esp + 0x28]
push dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push dword [eax + 0x10]
push dword [eax]
mov eax, dword [edi + 0x84]
call eax
mov ebp, eax
add esp, 0x10
cmp ebp, esi
jae 0x101022d8
sub bx, word [edi + 0x68]
mov edx, dword [esp + 0x4c]
sub dx, word [edi + 0x6a]
movzx eax, byte [edi + 0x6c]
shl bx, 3
shl dx, 3
mov dword [esp + 0x1c], ebx
cmp eax, 4
ja case.0x10102216.4
jmp dword [eax*4 + 0x10102450]
xor ebx, ebx
mov ecx, 2
test dx, dx
movsx edx, dx
setne bl
xor eax, eax
cmp word [esp + 0x1c], ax
cmovne eax, ecx
mov ecx, dword [edi + 0x70]
or ebx, eax
mov eax, dword [edi + 0x78]
mov ebx, dword [ecx + ebx*4]
add ebx, dword [eax + edx*4]
mov eax, dword [esp + 0x1c]
movsx ecx, ax
mov eax, dword [edi + 0x74]
add ebx, dword [eax + ecx*4]
imul ebx, dword [edi + 0x80]
add ebx, 0x100
shr ebx, 9
jmp 0x101022bc
movsx eax, dx
cdq
mov ebx, eax
mov eax, dword [esp + 0x1c]
xor ebx, edx
cwde
sub ebx, edx
cdq
xor eax, edx
sub eax, edx
add ebx, eax
shl ebx, 5
sar ebx, 3
jmp 0x101022bc
movsx eax, dx
cdq
mov ecx, eax
movsx eax, bx
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov ebx, ecx
shl ebx, 4
sub ebx, ecx
sar ebx, 3
jmp 0x101022bc
movsx eax, dx
cdq
mov ebx, eax
mov eax, dword [esp + 0x1c]
xor ebx, edx
cwde
sub ebx, edx
cdq
xor eax, edx
sub eax, edx
add ebx, eax
jmp 0x101022bc
xor ebx, ebx
mov ecx, dword [esp + 0x10]
add ebp, ebx
mov edx, dword [esp + 0x18]
cmp ebp, esi
jae 0x101022e0
mov esi, ebp
mov dword [esp + 0x24], ecx
jmp 0x101022e0
mov ecx, dword [esp + 0x10]
jmp 0x101022e4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
inc ecx
add eax, 8
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
cmp ecx, edx
jle 0x10102182
mov dword [esp + 0x8c], esi
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
test ecx, ecx
je 0x10102358
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x40], 1
movzx eax, word [edx + ecx*8]
mov esi, dword [ebx]
add ax, si
mov word [ebx], ax
movzx eax, word [edx + ecx*8 + 2]
add word [ebx + 2], ax
mov eax, dword [esp + 0x28]
add eax, dword [edx + ecx*8 + 4]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
jmp 0x101023e8
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x40], 0
jne 0x10102363
inc dword [esp + 0x30]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x8c], ebx
test ecx, ecx
jne 0x101023dd
mov ecx, ebx
mov dword [esp + 0x8c], ecx
cmp ebp, 2
jle 0x101023e4
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x44]
add edx, 0xc08
mov eax, dword [edx + ebp*4]
lea edx, [edx + ebp*4]
mov dword [esp + 0x8c], ecx
cmp eax, dword [esi + ebp*4 + 0xc0c]
mov esi, dword [esp + 0x2c]
jne 0x101023e4
mov esi, dword [esp + 0x30]
mov dword [esp + 0x8c], ecx
nop word [eax + eax]
mov ebx, edx
cmp ebp, 2
jle 0x101023d3
mov eax, dword [edx - 4]
sub edx, 4
inc esi
dec ebp
cmp eax, dword [ebx]
je 0x101023c0
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x2c]
jmp 0x101023e4
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x14]
sub ebp, 1
mov dword [esp + 0x34], ebp
jns 0x10101f30
jmp 0x101023fe
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x30]
mov dword [edx], eax
mov eax, dword [esp + 0x54]
test eax, eax
je 0x10102412
mov dword [eax], esi
pop edi
pop esi
mov eax, ecx
mov ecx, dword [esp + 0x78]
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0x74
ret