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

Disassembly:
sub esp, 0xb0
mov edx, dword [esp + 0xb4]
push ebx
mov ebx, dword [esp + 0xbc]
push ebp
mov eax, dword [edx + 0x38]
imul ecx, ebx, 0x98
push esi
mov dword [esp + 0x98], eax
mov eax, dword [edx + 0x3c]
push edi
mov edi, dword [edx + 0x1c]
add ecx, 0xffffff68
add ecx, edi
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 0x40]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x44]
mov esi, dword [edi + 8]
mov ebp, dword [edi + 0xc]
sub esi, dword [edi]
sub ebp, dword [edi + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx]
mov dword [esp + 0x54], edi
mov dword [esp + 0x78], ecx
cmp eax, dword [ecx + 8]
je 0x100a4e3b
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 0xc]
je 0x100a4e3b
push ebx
push edx
call fcn.100a8990
mov ebx, eax
add esp, 8
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x100a5623
mov eax, dword [esp + 0xc8]
cmp eax, 1
jne 0x100a4e4b
mov ebp, dword [esp + 0x78]
push eax
mov edx, dword [ebp + 0x90]
mov eax, edx
mov edi, dword [ebp + 0x88]
sub eax, edi
sub edx, dword [ebp]
sub edi, dword [ebp]
push eax
mov eax, dword [esp + 0xcc]
push 1
push dword [eax + 0x34]
mov eax, dword [ebp + 0x94]
sub eax, dword [ebp + 4]
push eax
mov eax, dword [ebp + 0x8c]
sub eax, dword [ebp + 4]
push edx
push eax
push edi
push ebx
call fcn.100bea10
push ebx
call fcn.100be9c0
add esp, 0x28
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xb0
ret
push eax
push edi
call fcn.100a8bb0
add esp, 8
cmp eax, 0x7ffffff
ja 0x100a561a
shl eax, 5
push eax
call fcn.1008aa10
add esp, 4
mov dword [esp + 0x7c], eax
test eax, eax
je 0x100a561a
mov edi, 1
mov dword [esp + 0xa0], eax
mov dword [esp + 0x60], edi
cmp dword [esp + 0xc8], edi
jbe 0x100a55b0
nop word [eax + eax]
mov edx, dword [esp + 0x54]
mov ecx, ebp
add edx, 0x98
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x2c], ebp
mov eax, esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x54], edx
mov ebp, dword [edx]
mov ebx, dword [edx + 8]
sub ebx, ebp
mov dword [esp + 0x84], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x64], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x38], ebx
sub edx, esi
sub ebx, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x80], ebx
and ebp, 0x80000001
jns 0x100a4f01
dec ebp
or ebp, 0xfffffffe
inc ebp
mov eax, edx
mov dword [esp + 0x6c], ebp
sub eax, ecx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0xa4], eax
and esi, 0x80000001
jns 0x100a4f28
dec esi
or esi, 0xfffffffe
inc esi
lea eax, [esp + 0x40]
mov dword [esp + 0x5c], esi
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0xa0]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x60]
mov eax, dword [esp + 0xd8]
push dword [esp + 0x5c]
push dword [esp + 0x64]
push esi
push 0
push edi
push eax
call fcn.100a8780
mov ecx, dword [esp + 0xf0]
add esp, 0x2c
test edi, edi
mov eax, 1
cmovne eax, edi
mov ebx, dword [ecx + 0x14]
mov ebp, ebx
sub ebp, eax
jne 0x100a4f95
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], esi
jmp 0x100a5040
lea eax, [ebp - 1]
mov edx, 1
mov ecx, eax
mov dword [esp + 0x1c], eax
shl edx, cl
cmp esi, edx
ja 0x100a4fad
xor esi, esi
jmp 0x100a4fdf
mov eax, esi
xor edi, edi
sub eax, edx
xor esi, esi
xor edx, edx
mov ecx, ebp
bts esi, ecx
cmp ecx, 0x20
cmovae edi, esi
xor esi, edi
cmp ecx, 0x40
cmovae edi, esi
add eax, esi
adc edx, edi
add eax, 0xffffffff
adc edx, 0xffffffff
call fcn.10104c20
mov esi, eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x48]
mov edx, 1
shl edx, cl
cmp eax, edx
ja 0x100a5005
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x18], 0
jmp 0x100a5044
mov ecx, eax
xor edi, edi
sub ecx, edx
xor eax, eax
xor edx, edx
mov esi, ebp
bts edi, esi
cmp esi, 0x20
cmovae eax, edi
xor edi, eax
cmp esi, 0x40
cmovae eax, edi
add ecx, edi
adc edx, eax
add ecx, 0xffffffff
mov eax, ecx
mov ecx, ebp
adc edx, 0xffffffff
call fcn.10104c20
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x100a5052
mov ebx, dword [ecx + 0x14]
dec ebx
jmp 0x100a5054
sub ebx, eax
mov eax, dword [esp + 0x4c]
test ebx, ebx
jne 0x100a506d
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], esi
jmp 0x100a50f9
mov edx, 1
lea ecx, [ebx - 1]
shl edx, cl
cmp eax, edx
ja 0x100a5085
mov dword [esp + 0x14], 0
jmp 0x100a50b3
sub eax, edx
xor esi, esi
xor edx, edx
xor edi, edi
mov ecx, ebx
bts esi, ecx
cmp ecx, 0x20
cmovae edi, esi
xor esi, edi
cmp ecx, 0x40
cmovae edi, esi
add eax, esi
adc edx, edi
add eax, 0xffffffff
adc edx, 0xffffffff
call fcn.10104c20
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
lea ecx, [ebx - 1]
mov edx, 1
shl edx, cl
cmp eax, edx
ja 0x100a50c9
xor eax, eax
jmp 0x100a50f9
mov ecx, eax
xor edi, edi
sub ecx, edx
xor eax, eax
xor edx, edx
mov esi, ebx
bts edi, esi
cmp esi, 0x20
cmovae eax, edi
xor edi, eax
cmp esi, 0x40
cmovae eax, edi
add ecx, edi
adc edx, eax
add ecx, 0xffffffff
mov eax, ecx
mov ecx, ebx
adc edx, 0xffffffff
call fcn.10104c20
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
mov esi, dword [eax + 0x40]
sub edx, esi
mov edi, dword [eax + 0x20]
mov ebx, dword [eax + 0x1c]
mov ebp, dword [eax + 0x44]
xor eax, eax
cmp dword [esp + 0x70], esi
cmovae eax, edx
sub ecx, edi
xor edx, edx
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x3c], edi
cmovae edx, ecx
mov ecx, dword [esp + 0x74]
sub ecx, esi
mov dword [esp + 0x3c], edx
xor edx, edx
cmp dword [esp + 0x74], esi
cmovae edx, ecx
mov ecx, dword [esp + 0x40]
sub ecx, edi
xor esi, esi
cmp dword [esp + 0x40], edi
mov edi, dword [esp + 0x10]
cmovae esi, ecx
xor ecx, ecx
sub edi, ebx
mov dword [esp + 0x40], esi
cmp dword [esp + 0x10], ebx
mov esi, dword [esp + 0x18]
cmovb edi, ecx
sub esi, ebx
cmp dword [esp + 0x18], ebx
cmovb esi, ecx
mov ecx, dword [esp + 0x14]
sub ecx, ebp
xor ebx, ebx
cmp dword [esp + 0x14], ebp
cmovb ecx, ebx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
sub ecx, ebp
cmp dword [esp + 0x20], ebp
cmovb ecx, ebx
mov dword [esp + 0x10], ecx
mov ecx, eax
cmp ecx, 4
jb 0x100a51a1
add ecx, 0xfffffffc
jmp 0x100a51a3
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x3c]
add edx, 4
mov dword [esp + 0x44], ecx
mov dword [esp + 0x70], ecx
adc eax, eax
neg eax
or eax, edx
mov edx, dword [esp + 0x30]
cmp eax, dword [esp + 0x64]
cmovb edx, eax
lea eax, [edi - 4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x74], edx
xor edx, edx
cmp edi, 4
cmovb eax, edx
mov dword [esp + 0x1c], eax
xor eax, eax
add esi, 4
adc eax, eax
neg eax
or eax, esi
mov esi, dword [esp + 0x58]
cmp eax, esi
cmovb esi, eax
mov dword [esp + 0x58], esi
cmp ebx, 4
jb 0x100a51fe
add ebx, 0xfffffffc
jmp 0x100a5200
xor ebx, ebx
mov edx, dword [esp + 0x40]
xor eax, eax
add edx, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], ebx
adc eax, eax
neg eax
or eax, edx
mov edx, dword [esp + 0x2c]
cmp eax, dword [esp + 0x68]
cmovb edx, eax
mov eax, dword [esp + 0x14]
xor ebp, ebp
mov dword [esp + 0x2c], edx
cmp eax, 4
mov dword [esp + 0x40], edx
lea edi, [eax - 4]
cmovb edi, ebp
mov ebp, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x20], edi
add ebp, 4
adc eax, eax
neg eax
or eax, ebp
mov ebp, dword [esp + 0x24]
cmp eax, ebp
cmovb ebp, eax
mov eax, dword [esp + 0x1c]
add esi, esi
mov dword [esp + 0x24], ebp
add eax, eax
mov dword [esp + 0x14], esi
add ecx, ecx
cmp dword [esp + 0x6c], 0
jne 0x100a5299
mov edx, dword [esp + 0x38]
lea esi, [eax + 1]
mov eax, dword [esp + 0x30]
cmp ecx, esi
cmovb esi, ecx
mov ecx, dword [esp + 0x14]
inc ecx
add eax, eax
cmp eax, ecx
cmova ecx, eax
cmp ecx, edx
cmovb edx, ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2c]
jmp 0x100a52c2
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x38]
cmp eax, esi
cmovb esi, eax
mov eax, dword [esp + 0x30]
lea eax, [eax*2 + 1]
cmp dword [esp + 0x14], eax
cmova eax, dword [esp + 0x14]
cmp eax, ecx
cmovb ecx, eax
mov dword [esp + 0x10], ecx
add ebp, ebp
lea ecx, [edi + edi]
cmp dword [esp + 0x5c], 0
lea eax, [ebx + ebx]
lea edi, [edx + edx]
jne 0x100a52e8
inc ecx
cmp eax, ecx
cmovb ecx, eax
lea eax, [ebp + 1]
cmp edi, eax
mov dword [esp + 0x14], ecx
cmova eax, edi
jmp 0x100a52fa
inc eax
cmp ecx, eax
cmovb eax, ecx
mov dword [esp + 0x14], eax
lea eax, [edi + 1]
cmp ebp, eax
cmova eax, ebp
mov ebp, dword [esp + 0x34]
cmp eax, ebp
mov ecx, ebp
cmovb ecx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x8c], eax
xor edi, edi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x98], eax
cmp ebp, 7
jbe 0x100a53da
lea ecx, [edi + 7]
cmp ecx, ebx
jb 0x100a534b
cmp edi, edx
jb 0x100a5366
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xa8]
add eax, edx
cmp ecx, eax
jb 0x100a53c8
mov eax, dword [esp + 0x24]
add eax, edx
cmp edi, eax
jae 0x100a53c8
mov ebx, dword [esp + 0x28]
mov eax, ebp
sub eax, edi
mov ecx, 8
cmp eax, 8
cmova eax, ecx
push eax
push edi
lea eax, [esp + 0x84]
push ebx
push eax
call fcn.100a9c70
lea eax, [esp + 0x8c]
push eax
call fcn.100a96d0
push 1
push 1
push 8
mov eax, esi
shl eax, 5
add eax, dword [esp + 0x9c]
push eax
lea eax, [edi + 8]
push eax
push dword [esp + 0x38]
push edi
push esi
push ebx
call fcn.100bf190
add esp, 0x38
test eax, eax
je 0x100a5457
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
add edi, 8
lea eax, [edi + 7]
cmp eax, ebp
jb 0x100a5340
cmp edi, ebp
jae 0x100a5479
lea eax, [edi + 7]
cmp eax, ebx
jb 0x100a53ed
cmp edi, edx
jb 0x100a540b
mov eax, dword [esp + 0x20]
lea edx, [edi + 7]
mov ecx, dword [esp + 0xa8]
add eax, ecx
cmp edx, eax
jb 0x100a5479
mov eax, dword [esp + 0x24]
add eax, ecx
cmp edi, eax
jae 0x100a5479
mov ebx, dword [esp + 0x28]
mov eax, ebp
sub eax, edi
push eax
push edi
lea eax, [esp + 0x84]
push ebx
push eax
call fcn.100a9c70
lea eax, [esp + 0x8c]
push eax
call fcn.100a96d0
push 1
push 1
push 8
mov eax, esi
shl eax, 5
add eax, dword [esp + 0x9c]
push eax
push ebp
push dword [esp + 0x38]
push edi
push esi
push ebx
call fcn.100bf190
add esp, 0x38
test eax, eax
jne 0x100a547d
push ebx
call fcn.100be9c0
push dword [esp + 0x80]
call fcn.1008aa00
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], eax
cmp esi, ecx
jae 0x100a5595
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x24]
lea eax, [eax + edx*2]
shl eax, 5
add eax, dword [esp + 0x7c]
mov dword [esp + 0x6c], eax
lea eax, [edi + edi]
sub eax, dword [esp + 0x5c]
inc eax
shl eax, 5
add eax, dword [esp + 0x7c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xa8]
add ebx, eax
add eax, edi
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
shl eax, 5
add eax, dword [esp + 0x7c]
mov dword [esp + 0x44], eax
push 1
mov eax, ecx
mov ecx, 8
push 0x10
sub eax, esi
push 1
push dword [esp + 0x78]
cmp eax, 8
push dword [esp + 0x3c]
cmova eax, ecx
lea edi, [eax + esi]
push edi
push edx
push esi
push ebx
call fcn.100bea10
push 1
push 0x10
push 1
push dword [esp + 0x98]
push dword [esp + 0x98]
push edi
push dword [esp + 0x58]
push esi
push ebx
call fcn.100bea10
add esp, 0x48
lea eax, [esp + 0xa0]
push eax
call fcn.100a96d0
push 1
push 8
push 1
push dword [esp + 0x54]
push dword [esp + 0x48]
push edi
push dword [esp + 0x30]
push esi
push ebx
call fcn.100bf190
add esp, 0x28
test eax, eax
je 0x100a5457
mov ecx, dword [esp + 0x10]
add esi, 8
mov edx, dword [esp + 0x18]
cmp esi, ecx
jb 0x100a5504
mov edi, dword [esp + 0x60]
inc edi
mov dword [esp + 0x60], edi
cmp edi, dword [esp + 0xc8]
jae 0x100a55b0
mov esi, dword [esp + 0x38]
jmp 0x100a4ea0
mov ebp, dword [esp + 0x78]
push 1
mov edx, dword [ebp + 0x90]
mov eax, edx
mov edi, dword [ebp + 0x88]
sub eax, edi
sub edx, dword [ebp]
sub edi, dword [ebp]
push eax
mov eax, dword [esp + 0xcc]
push 1
push dword [eax + 0x34]
mov eax, dword [ebp + 0x94]
sub eax, dword [ebp + 4]
push eax
mov eax, dword [ebp + 0x8c]
sub eax, dword [ebp + 4]
push edx
push eax
push edi
push ebx
call fcn.100bea10
push ebx
call fcn.100be9c0
push dword [esp + 0xa4]
call fcn.1008aa00
add esp, 0x2c
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
push ebx
call fcn.100be9c0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb0
ret