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

Disassembly:
sub esp, 0x48
mov eax, dword [esp + 0x4c]
push ebx
push ebp
push esi
mov ebp, dword [eax + 8]
lea ebx, [eax + 0x108]
mov esi, dword [eax + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax + 0x198]
mov dword [esp + 0x2c], esi
add esi, ebp
mov dword [esp + 0x4c], esi
mov esi, dword [eax + 0xc]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0x64]
mov dword [esp + 0x28], ebp
lea eax, [esi + edx]
mov dword [esp + 0x24], edx
mov dword [esp + 0x30], eax
lea eax, [esi + ebp]
mov ebp, dword [esp + 0x60]
push edi
mov edi, dword [esp + 0x60]
add ebp, edi
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, edi
lea edx, [ebp - 8]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x64], eax
cmp edi, edx
jae 0x10127d45
push dword [esp + 0x68]
mov dword [esp + 0x58], edi
push dword [esp + 0x20]
push edi
call fcn.101184a8
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x10]
mov edx, dword [ecx + eax*4]
cmp edx, esi
mov ecx, ebx
mov dword [esp + 0x20], edx
cmovb ecx, dword [esp + 0x2c]
add edx, ecx
mov ecx, edi
sub ecx, ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], ecx
sub ecx, dword [esp + 0x60]
inc ecx
cmp ecx, esi
mov dword [esp + 0x3c], ecx
cmovb ebx, dword [esp + 0x2c]
add ebx, ecx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x24]
mov dword [ebp + eax*4], ebx
mov eax, esi
mov ebx, dword [esp + 0x44]
sub eax, ecx
mov ebp, dword [esp + 0x48]
dec eax
cmp eax, 3
mov eax, dword [esp + 0x30]
sbb ecx, ecx
inc ecx
cmp eax, dword [esp + 0x3c]
sbb eax, eax
neg eax
test eax, ecx
je 0x10127b17
lea eax, [edi + 1]
push eax
mov dword [esp + 0x50], eax
call fcn.10136274
push dword [esp + 0x44]
mov esi, eax
call fcn.10136274
pop ecx
pop ecx
cmp eax, esi
jne 0x10127b13
mov ecx, dword [esp + 0x14]
mov eax, ebp
push dword [esp + 0x34]
cmp dword [esp + 0x40], ecx
cmovb eax, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x48]
add eax, 4
push ebp
push eax
lea eax, [edi + 5]
push eax
call fcn.1013ae10
mov edi, dword [esp + 0x60]
add esp, 0x14
mov edx, dword [esp + 0x5c]
mov ecx, edi
sub ecx, edx
and dword [esp + 0x5c], 0
lea esi, [eax + 4]
jmp 0x10127bd8
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x20], eax
jb 0x10127d1e
push edx
call fcn.10136274
push edi
mov esi, eax
call fcn.10136274
pop ecx
pop ecx
cmp esi, eax
jne 0x10127d1e
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x20], ecx
mov esi, dword [esp + 0x34]
mov eax, esi
cmovb eax, dword [esp + 0x50]
mov dword [esp + 0x64], eax
mov eax, ebp
cmovb eax, dword [esp + 0x38]
push esi
push eax
mov eax, dword [esp + 0x20]
add eax, 4
push ebp
push eax
lea eax, [edi + 4]
push eax
call fcn.1013ae10
mov edx, dword [esp + 0x70]
add esp, 0x14
lea esi, [eax + 4]
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x18]
sbb ecx, ecx
neg ecx
cmp edx, edi
sbb eax, eax
neg eax
test eax, ecx
je 0x10127bb9
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x64]
mov al, byte [edi - 1]
dec ebx
cmp al, byte [ebx]
jne 0x10127bb1
dec edi
inc esi
cmp ebp, ebx
sbb ecx, ecx
neg ecx
cmp edx, edi
sbb eax, eax
neg eax
test eax, ecx
jne 0x10127b97
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x20]
mov dword [esp + 0x64], ecx
mov ecx, edi
mov dword [esp + 0x60], eax
sub ecx, edx
add eax, 2
mov dword [esp + 0x5c], eax
lea eax, [esi - 3]
push eax
push dword [esp + 0x60]
push edx
push ecx
push ebx
call fcn.1013a7dc
add edi, esi
lea eax, [ebp - 8]
add esp, 0x14
mov ecx, edi
mov dword [esp + 0x5c], ecx
cmp edi, eax
ja 0x10127d37
push dword [esp + 0x68]
mov eax, dword [esp + 0x58]
push dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
add eax, 2
push eax
add esi, 2
call fcn.101184a8
mov ecx, dword [esp + 0x1c]
push dword [esp + 0x74]
push dword [esp + 0x2c]
mov dword [ecx + eax*4], esi
mov esi, edi
sub esi, dword [esp + 0x3c]
lea eax, [edi - 2]
push eax
sub esi, 2
call fcn.101184a8
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov dword [ecx + eax*4], esi
mov esi, dword [esp + 0x28]
mov eax, edi
sub eax, dword [esp + 0x28]
mov edx, eax
mov dword [esp + 0x40], eax
sub edx, dword [esp + 0x64]
mov eax, dword [esp + 0x14]
cmp edx, eax
mov dword [esp + 0x54], edx
cmovb esi, dword [esp + 0x2c]
sub eax, edx
add esi, edx
dec eax
cmp eax, 3
mov dword [esp + 0x4c], esi
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x30], edx
sbb eax, eax
neg eax
test eax, ecx
je 0x10127d2e
push esi
call fcn.10136274
push edi
mov esi, eax
call fcn.10136274
pop ecx
pop ecx
cmp esi, eax
jne 0x10127d2e
mov ecx, dword [esp + 0x14]
mov eax, ebp
push dword [esp + 0x34]
cmp dword [esp + 0x58], ecx
cmovb eax, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x54]
add eax, 4
push ebp
push eax
lea eax, [edi + 4]
push eax
call fcn.1013ae10
mov ecx, dword [esp + 0x78]
lea esi, [eax + 4]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x74], ecx
lea ecx, [esi - 3]
push ecx
push 0
push edi
push 0
push ebx
mov dword [esp + 0x8c], eax
call fcn.1013a7dc
push dword [esp + 0x90]
push dword [esp + 0x48]
push edi
call fcn.101184a8
mov edx, dword [esp + 0x44]
add edi, esi
mov ecx, dword [esp + 0x74]
add esp, 0x34
mov dword [edx + eax*4], ecx
lea eax, [ebp - 8]
mov ecx, edi
mov dword [esp + 0x5c], ecx
cmp edi, eax
jbe 0x10127c45
jmp 0x10127d35
mov ecx, dword [esp + 0x5c]
mov eax, edi
sub eax, ecx
sar eax, 8
inc eax
add edi, eax
jmp 0x10127d32
mov ecx, dword [esp + 0x5c]
lea eax, [ebp - 8]
cmp edi, eax
mov esi, dword [esp + 0x14]
jb 0x10127a33
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
sub ebp, ecx
push ebp
push ecx
push dword [ebx + 0xc]
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], eax
call fcn.1011ea6c
add esp, 0xc
add dword [ebx + 0xc], ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret