Function at 0x10137e90
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [esi + 0xbc70]
push ebx
push edi
xor edi, edi
lea ecx, [esi + eax + 0xbc74]
xor ebx, ebx
lea eax, [esi + 0xa972]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edi
mov byte [eax], bl
mov byte [ebp - 0x148], bl
mov dword [ebp - 0x14], edi
cmp dword [ebp + 8], edi
jbe 0x1013803b
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], eax
jmp 0x10137edb
mov eax, dword [ebp - 8]
mov cl, byte [edx]
cmp cl, 0xcd
jne 0x10137ef2
mov byte [eax], 0xa
mov byte [ebp + edi - 0x148], 0xa
jmp 0x1013800f
cmp cl, 0xce
jne 0x10137f07
mov byte [eax], 9
mov byte [ebp + edi - 0x148], 9
jmp 0x1013800f
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp + 8]
jae 0x10137f55
xor eax, eax
xor edi, edi
cmp byte [edi + 0x1021a830], cl
jne 0x10137f28
mov cl, byte [edi + 0x1021a831]
cmp cl, byte [edx + 1]
je 0x10137f33
mov cl, byte [edx]
add edi, 3
inc eax
cmp edi, 0x27
jb 0x10137f13
jmp 0x10137f55
mov cl, byte [eax + eax*2 + 0x1021a832]
mov byte [ebx + esi + 0xbc74], cl
mov ecx, 1
add dword [ebp - 0x14], ecx
add dword [ebp - 0x10], ecx
add ebx, ecx
add edx, ecx
cmp eax, 0xd
jb 0x10137fc9
mov cl, byte [edx]
xor eax, eax
lea esp, [esp]
cmp byte [eax*2 + 0x1021a858], cl
je 0x10137f71
inc eax
cmp eax, 0x22
jb 0x10137f60
jmp 0x10137f85
mov cl, byte [eax*2 + 0x1021a859]
mov byte [ebx + esi + 0xbc74], cl
inc ebx
cmp eax, 0x22
jb 0x10137fc9
mov cl, byte [edx]
xor eax, eax
xor edi, edi
jmp 0x10137f90
cmp byte [edi + 0x1021a89c], cl
je 0x10137fa3
add edi, 3
inc eax
cmp edi, 6
jb 0x10137f90
jmp 0x1013800c
movzx ecx, byte [eax + eax*2 + 0x1021a89d]
mov byte [esi + ebx + 0xbc74], cl
movzx ecx, byte [eax + eax*2 + 0x1021a89e]
mov byte [esi + ebx + 0xbc75], cl
add ebx, 2
cmp eax, 2
jae 0x1013800c
cmp ebx, 1
jb 0x10137ffa
mov al, byte [ebx + esi + 0xbc73]
cmp al, 0x1b
jb 0x10137ffa
cmp al, 0x2f
ja 0x10137ffa
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 0x10
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov byte [ecx], 0
mov byte [ebp + eax - 0x148], 0
jmp 0x10137ffd
mov eax, dword [ebp - 4]
cmp ebx, 0x300
jae 0x10138025
cmp eax, 0x120
jae 0x10138031
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x10]
inc eax
inc edx
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp + 8]
jb 0x10137ed8
jmp 0x1013803b
mov ebx, 0x300
cmp eax, 0x120
jb 0x10138038
mov dword [ebp - 4], 0x120
mov edi, dword [ebp - 4]
lea edx, [edi + 1]
add edx, edx
mov byte [esi + edx*8 + 0xa972], 0
xor edx, edx
mov byte [ebp + edi - 0x147], 0
mov dword [esi + 0xa8a0], edx
cmp ebx, edx
jne 0x10138070
pop edi
mov dword [esi + 0xa96c], edx
mov dword [esi + 0xbc70], edx
pop ebx
mov esp, ebp
pop ebp
ret 4
xor edi, edi
mov dword [ebp - 4], edx
test ebx, ebx
je 0x101380f2
lea eax, [esi + 0xa974]
mov dword [ebp - 8], eax
mov eax, ebx
sub eax, edi
mov dword [ebp + 8], 0x10
cmp eax, 0x10
ja 0x10138095
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
push 0
push ecx
add edx, 0xa97
lea ecx, [edi + eax]
shl edx, 4
push ecx
add edx, esi
push edx
call fcn.1014a2b0
add esp, 0x10
test edi, edi
je 0x101380cc
test eax, eax
je 0x101380cc
mov ecx, dword [ebp - 8]
mov edx, eax
add word [ecx], di
add ecx, 0x10
dec edx
jne 0x101380c3
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
add ecx, eax
mov dword [ebp - 4], ecx
add edx, edi
add ecx, ecx
lea eax, [esi + ecx*8 + 0xa974]
add edi, 0x10
mov word [eax], dx
mov edx, dword [ebp - 4]
mov dword [ebp - 8], eax
cmp edi, ebx
jb 0x10138082
mov ecx, edx
shl ecx, 4
add ecx, esi
xor eax, eax
mov dword [ebp + 8], ecx
mov word [ecx + 0xa974], bx
test edx, edx
je 0x10138124
lea edi, [esi + 0xa972]
nop
mov cl, byte [ebp + eax - 0x148]
mov byte [edi], cl
inc eax
add edi, 0x10
cmp eax, edx
jb 0x10138110
mov ecx, dword [ebp + 8]
xor eax, eax
mov byte [ecx + 0xa972], 0
mov dword [ebp - 8], eax
cmp ebx, eax
jbe 0x10138163
lea edi, [esi + 0xa974]
lea ecx, [esi + 0xbf88]
mov dword [ebp + 8], edi
mov edi, dword [ebp + 8]
movzx edi, word [edi]
cmp eax, edi
jb 0x10138154
inc dword [ebp - 8]
add dword [ebp + 8], 0x10
mov edi, dword [ebp - 8]
dec edi
mov word [ecx], di
inc eax
add ecx, 2
cmp eax, ebx
jb 0x10138143
mov eax, 3
mov word [esi + 0xa8a8], ax
lea eax, [edx + 6]
lea ecx, [edx + 3]
mov dword [esi + 0xa96c], eax
mov word [esi + 0xa8aa], cx
lea eax, [ebx + 1]
lea ecx, [ebx + 4]
mov dword [esi + 0xa8a4], 1
mov dword [esi + 0xbc70], ecx
cmp eax, 2
jb 0x101381c6
lea ecx, [esi + eax*2 + 0xbf88]
mov di, word [ecx - 4]
add di, 3
mov word [ecx], di
mov bl, byte [esi + eax + 0xbc72]
mov byte [esi + eax + 0xbc74], bl
dec eax
sub ecx, 2
cmp eax, 2
jae 0x101381a4
add edx, 2
cmp edx, 3
jb 0x1013820c
mov eax, edx
add eax, eax
lea eax, [esi + eax*8 + 0xa972]
lea ecx, [edx - 2]
lea esp, [esp]
movzx edx, byte [eax - 0x30]
mov byte [eax], dl
movzx edx, byte [eax - 0x2f]
mov byte [eax + 1], dl
mov dx, word [eax - 0x2e]
add dx, 2
mov byte [eax - 2], 1
mov word [eax + 2], dx
mov edx, dword [esi + 0xa898]
mov dword [eax + 6], edx
sub eax, 0x10
dec ecx
jne 0x101381e0
mov dword [esi + 0xa972], 0
mov ecx, dword [esi + 0xa898]
mov dword [esi + 0xa978], ecx
mov dword [esi + 0xa982], 0
mov eax, dword [esi + 0xa898]
mov dword [esi + 0xa988], eax
mov dword [esi + 0xa992], 0
mov edx, dword [esi + 0xa898]
mov dword [esi + 0xa998], edx
mov dx, word [esi + 0xbc70]
sub dx, 2
mov word [esi + 0xbc74], 0xfc00
mov eax, 0xff
mov byte [esi + 0xa972], al
mov byte [esi + 0xa982], al
mov byte [esi + 0xa992], al
mov ecx, 1
mov word [esi + 0xa994], cx
mov ecx, dword [esi + 0xa96c]
add ecx, ecx
mov word [esi + ecx*8 + 0xa944], dx
mov edx, dword [esi + 0xa96c]
add edx, edx
mov byte [esi + edx*8 + 0xa942], al
movzx ecx, word [esi + 0xbc70]
mov edx, dword [esi + 0xa96c]
dec cx
add edx, edx
mov word [esi + edx*8 + 0xa954], cx
mov ecx, dword [esi + 0xa96c]
add ecx, ecx
mov byte [esi + ecx*8 + 0xa952], al
mov edx, dword [esi + 0xa96c]
add edx, edx
mov byte [esi + edx*8 + 0xa962], al
mov ecx, dword [esi + 0xbc70]
mov byte [esi + ecx + 0xbc72], 0xfd
mov edx, dword [esi + 0xbc70]
mov byte [esi + edx + 0xbc73], 0
mov ecx, eax
mov word [esi + 0xbf88], cx
movzx ecx, word [esi + 0xa96c]
mov edx, 2
mov word [esi + 0xbf8a], dx
mov edx, dword [esi + 0xbc70]
sub cx, 3
mov word [esi + edx*2 + 0xbf84], cx
mov ecx, dword [esi + 0xbc70]
mov word [esi + ecx*2 + 0xbf86], ax
mov edx, dword [esi + 0xa96c]
add edx, edx
mov byte [esi + 0xa993], 0xa
mov byte [esi + edx*8 + 0xa933], 0xa
add dword [esi + 0xa96c], 0xfffffffd
add dword [esi + 0xbc70], 0xfffffffe
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 4