Function at 0x10077e2a
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x44
mov edx, 1
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x5c]
xor ebx, ebx
cmp ecx, ebx
push edi
je 0x10077e40
mov eax, edx
mov dword [esp + 0x5c], eax
jmp 0x10077e44
mov eax, dword [esp + 0x5c]
cmp ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], ebx
je 0x10077e62
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], edx
jmp 0x10077e6e
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
lea ebp, [esi + 0x140]
xor eax, eax
xor ecx, ecx
or edx, 0xffffffff
mov dword [ebp], eax
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x74]
mov dword [esi + 0x130], eax
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x134], ecx
mov dword [ebp + 8], ebx
mov ecx, dword [esp + 0x70]
mov byte [esp + 0x34], bl
mov byte [esp + 0x36], bl
mov dword [ebp + 0xc], edx
mov edx, dword [esp + 0x78]
mov dword [esi + 0x13c], edx
mov ebp, 1
xor edx, edx
add eax, ebp
adc ecx, ebx
mov dword [esi + 0x128], eax
mov byte [esp + 0x37], bl
mov byte [esp + 0x35], bl
mov byte [esp + 0x38], 0xff
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4a], bl
mov byte [esp + 0x49], bl
mov byte [esp + 0x48], bl
mov byte [esp + 0x4f], bl
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4c], bl
mov dword [esp + 0x50], ebx
mov dword [esi + 0x138], edi
mov dword [esi + 0x12c], ecx
mov al, byte [edi]
mov byte [esp + 0x6c], al
inc edi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], ebx
and eax, 0xff
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x78], edx
lea ecx, [eax - 0x26]
mov dword [esi + 0x138], edi
cmp ecx, 0xcd
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x64], ebp
ja case.default.0x10077f60
mov edi, dword [esp + 0x60]
xor edx, edx
mov dl, byte [ecx + 0x10078488]
jmp dword [edx*4 + 0x10078468]
cmp edi, ebx
je case.0x10077f60.45
mov edx, eax
jmp 0x10077fd1
cmp edi, ebx
jne case.0x10077f60.43
shr eax, 3
and al, 3
mov byte [esp + 0x38], al
jmp case.0x10077f60.43
mov al, byte [esp + 0x3c]
and al, 0xf
mov byte [esp + 0x38], al
jmp case.0x10077f60.43
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp edx, ebx
sete cl
cmp eax, ebx
mov dword [esp + 0x2c], ecx
jne case.0x10077f60.43
mov dword [esp + 0x10], 1
jmp case.0x10077f60.43
cmp edi, ebx
jne 0x10077fc2
mov eax, dword [esp + 0x5c]
xor edx, edx
cmp eax, ebx
sete dl
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
jmp case.0x10077f60.43
and eax, 0xf
mov dword [esp + 0x10], eax
xor edx, edx
mov eax, dword [esi + 0x128]
mov dword [esp + 0x78], edx
add eax, 1
mov dword [esi + 0x128], eax
mov edi, dword [esi + 0x12c]
adc edi, ebx
mov dword [esi + 0x12c], edi
mov edi, dword [esi + 0x138]
mov al, byte [edi]
inc edi
mov byte [esp + 0x6c], al
mov dword [esi + 0x138], edi
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x40]
and eax, 0xff
inc edi
inc ebp
mov dword [esp + 0x3c], eax
lea ecx, [eax - 0x26]
mov dword [esp + 0x40], edi
cmp ecx, 0xcd
jbe 0x10077f54
mov dword [esp + 0x64], ebp
mov edi, dword [esp + 0x40]
mov ebp, 1
dec edi
cmp eax, 0xf
mov dword [esp + 0x40], edi
jne 0x10078082
mov ecx, dword [esi + 0x128]
mov edi, dword [esi + 0x138]
add ecx, ebp
mov dword [esi + 0x128], ecx
mov eax, dword [esi + 0x12c]
adc eax, ebx
inc edi
mov dword [esi + 0x12c], eax
mov cl, byte [edi - 1]
mov byte [esp + 0x78], cl
mov dword [esi + 0x138], edi
mov eax, dword [esp + 0x78]
and eax, 0xff
or ah, 1
mov dword [esp + 0x3c], eax
cmp edx, ebx
je 0x100780b4
mov cl, 8
mov byte [esp + 0x34], 1
test cl, dl
je 0x10078099
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebp
test dl, 4
je 0x100780a2
mov byte [esp + 0x35], cl
test dl, 2
je 0x100780ab
mov byte [esp + 0x36], cl
test dl, 1
je 0x100780b4
mov byte [esp + 0x37], cl
cmp dword [esp + 0x60], ebx
je 0x100780e8
cmp dword [esp + 0x30], ebx
je 0x100780d4
mov edi, 0x101302a0
jmp 0x100780fa
mov edx, dword [esp + 0x78]
mov dword [esp + 0x64], ebp
jmp case.default.0x10077f60
cmp dword [esp + 0x2c], ebx
je 0x100780e1
mov edi, 0x1012f2a0
jmp 0x100780fa
mov edi, 0x1012e2a0
jmp 0x100780fa
mov ecx, dword [esp + 0x2c]
mov edi, 0x1012d2a0
cmp ecx, ebx
jne 0x100780fa
mov edi, 0x1012c2a0
mov cl, byte [eax + 0x100a988c]
mov dword [esp + 0x78], edi
cmp cl, bl
lea edi, [edi + eax*8]
je 0x10078163
cmp dword [edi], 7
jne 0x1007814d
mov edx, dword [esi + 0x128]
mov eax, dword [esi + 0x138]
add edx, 1
mov dword [esi + 0x128], edx
mov ecx, dword [esi + 0x12c]
adc ecx, ebx
inc eax
mov dword [esi + 0x12c], ecx
mov dl, byte [eax - 1]
mov byte [esp + 0x6c], dl
mov dword [esi + 0x138], eax
mov ebp, dword [esp + 0x6c]
and ebp, 0xff
jmp 0x10078151
mov ebp, dword [esp + 0x14]
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.1007a2e0
mov eax, dword [esp + 0x3c]
jmp 0x10078167
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi]
cmp ecx, ebx
je 0x10078259
mov edx, 1
dec ecx
cmp ecx, 7
ja case.default.0x10078180
jmp dword [ecx*4 + 0x10078558]
mov ecx, dword [edi + 4]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x18], edx
lea edi, [ecx + edi*8]
jmp 0x1007824f
mov cl, byte [esp + 0x49]
xor edx, edx
cmp cl, 3
mov ecx, dword [edi + 4]
setne dl
lea edi, [ecx + edx*8]
mov edx, 1
jmp 0x1007824f
mov cl, byte [esp + 0x4b]
and ecx, 7
jmp 0x10078249
cmp byte [esp + 0x49], 3
je 0x100781d2
mov cl, byte [esp + 0x4a]
and ecx, 7
jmp 0x10078249
mov cl, byte [esp + 0x48]
lea edi, [eax - 0xd8]
and ecx, 0x3f
shl edi, 6
add ecx, edi
lea edi, [ecx*8 + 0x1012a2a0]
jmp 0x1007824f
mov edi, dword [esi + 0x128]
add edi, edx
mov dword [esi + 0x128], edi
mov ecx, dword [esi + 0x12c]
mov edi, dword [esi + 0x138]
adc ecx, ebx
inc edi
mov dword [esi + 0x12c], ecx
mov cl, byte [edi - 1]
mov byte [esp + 0x6c], cl
mov dword [esi + 0x138], edi
mov ecx, dword [esp + 0x6c]
and ecx, 0xff
lea edi, [ecx*8 + 0x101298a0]
jmp 0x1007824f
mov ecx, dword [edi + 4]
lea edi, [ecx + ebp*8]
jmp 0x1007824f
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
mov ecx, 2
jne 0x10078249
mov ecx, dword [esp + 0x2c]
mov edi, dword [edi + 4]
lea edi, [edi + ecx*8]
mov ecx, dword [edi]
cmp ecx, ebx
jne 0x10078176
mov ecx, dword [esp + 0x64]
xor ebp, ebp
cmp ecx, ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x60], ebx
jbe 0x100783bf
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x60]
mov cl, byte [ecx + edx]
cmp cl, 0xf0
mov byte [esp + 0x5c], cl
jne 0x100782a6
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0x784]
mov ecx, dword [eax]
push ecx
push 0x100eb4a4
push esi
call fcn.10078580
mov eax, dword [esp + 0x48]
mov cl, byte [esp + 0x68]
add esp, 0xc
mov ebp, dword [esp + 0x5c]
cmp eax, 0x90
jne 0x10078341
cmp byte [esp + 0x37], bl
jne 0x10078341
cmp cl, 0xf3
je 0x100783a6
jmp 0x10078346
push 0x101327ac
call dword [sym.imp.MSVCRT.dll_printf]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
add esp, 4
cmp edx, ebx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 0x14], ebx
je 0x100782fa
mov ecx, 1
mov dword [eax + 0xc], ecx
jmp 0x100782fd
mov dword [eax + 0xc], ebx
pop edi
pop esi
mov byte [eax + 0x18], bl
mov byte [eax + 0x1a], bl
mov byte [eax + 0x1b], bl
mov byte [eax + 0x19], bl
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x20], ebx
mov byte [eax + 0x2f], bl
mov byte [eax + 0x2e], bl
mov byte [eax + 0x2d], bl
mov byte [eax + 0x2c], bl
mov byte [eax + 0x33], bl
mov byte [eax + 0x32], bl
mov byte [eax + 0x31], bl
mov byte [eax + 0x30], bl
mov dword [eax + 0x34], ebx
pop ebp
mov dword [eax + 0x10], ecx
mov dword [eax + 8], ecx
mov byte [eax + 0x1c], 0xff
pop ebx
add esp, 0x44
ret 0x24
cmp cl, 0xf3
je 0x1007834b
cmp cl, 0xf2
jne 0x1007837a
cmp dword [esp + 0x18], ebx
jne 0x1007837a
mov eax, dword [esp + 0x78]
mov edx, ebp
and edx, 0xff
mov ecx, dword [eax + edx*8 + 4]
mov edx, dword [ecx]
push edx
push 0x100eb4a4
push esi
call fcn.10078580
mov eax, dword [esp + 0x48]
mov cl, byte [esp + 0x68]
add esp, 0xc
cmp eax, 0x70
jb 0x10078384
cmp eax, 0x7f
jbe 0x10078392
cmp eax, 0x180
jb 0x100783a6
cmp eax, 0x18f
ja 0x100783a6
cmp cl, 0x2e
je 0x1007839c
cmp cl, 0x3e
jne 0x100783a6
and ebp, 0xff
mov dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
inc ecx
cmp ecx, edx
mov dword [esp + 0x60], ecx
jb 0x1007826f
mov ebp, dword [esp + 0x6c]
mov edi, dword [edi + 4]
cmp eax, 0xe3
jne 0x100783dc
cmp dword [esp + 0x24], ebx
je 0x100783fc
cmp dword [esp + 0x28], ebx
jne 0x100783fc
mov edi, 0x10116508
jmp 0x100783fc
cmp eax, 0x90
jne 0x100783fc
cmp dword [esp + 0x10], 3
jne 0x100783f1
mov edi, 0x1011c4f8
jmp 0x100783fc
cmp byte [esp + 0x37], bl
jne 0x100783fc
mov edi, 0x1011af18
mov eax, dword [esi]
push edi
cmp eax, ebx
je 0x10078411
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.1007b800
jmp 0x1007841d
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.1007b8e0
cmp ebp, 0x2e
jne 0x10078429
push 0x101327a0
jmp 0x10078433
cmp ebp, 0x3e
jne 0x1007843c
push 0x10132798
push esi
call fcn.10078580
add esp, 8
mov edx, dword [esi + 0x138]
mov eax, dword [esp + 0x74]
sub edx, eax
mov eax, dword [esp + 0x58]
mov ecx, 0xe
lea esi, [esp + 0x1c]
mov edi, eax
mov dword [esp + 0x44], edx
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x24