Function at 0x12748123
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x80
mov eax, dword [0x12777870]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x7c], ebx
cmp dword [0x1277ea88], ebx
jne 0x12748190
mov dword [0x1277ea88], 1
call fcn.127679e0
push 0x12722c28
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, ebx
je 0x12748190
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x12722c14
push edi
call ebx
push 0x12722c08
push edi
mov dword [0x1277ea84], eax
call ebx
mov dword [0x1277ea80], eax
xor ebx, ebx
push ebx
push esi
call fcn.12747d9b
mov eax, dword [esi + 0x58]
cmp eax, ebx
pop ecx
pop ecx
jle 0x127481b4
cmp eax, 3
jle 0x127481d6
cmp eax, 5
jle 0x127481cd
cmp eax, 7
je 0x127481c8
cmp eax, 8
je 0x127481cd
mov eax, 0x80070057
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1273b495
leave
ret
mov dword [ebp - 0x5c], ebx
jmp 0x127481dd
mov dword [ebp - 0x5c], 1
jmp 0x127481dd
mov dword [ebp - 0x5c], 2
xor eax, eax
cmp dword [esi + 0xa8], ebx
setne al
mov edi, eax
xor eax, eax
cmp dword [esi + 0xc4], ebx
mov dword [ebp - 0x70], edi
setne al
mov dword [ebp - 0x78], eax
xor eax, eax
cmp dword [esi + 0xf4], ebx
setne al
mov dword [ebp - 0x6c], eax
cmp dword [esi + 0xc9c], ebx
jne 0x12748225
mov eax, dword [esi + 0x130]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x68], eax
jmp 0x127482e7
mov eax, dword [esi + 0xc94]
mov ecx, dword [eax + 0xc]
xor edx, edx
cmp dword [esi + 0x9c], ebx
setne dl
cmp ecx, 4
lea edx, [edx*8 + 1]
jl 0x127481b4
cmp ecx, 5
jle 0x12748261
cmp ecx, 6
je 0x127482af
cmp ecx, 7
je 0x1274829d
cmp ecx, 8
jne 0x127481b4
cmp dword [esi + 0xe0], 7
jne 0x127481b4
mov dword [ebp - 0x60], 2
add edx, dword [ebp - 0x60]
mov dword [ebp - 0x58], edx
cmp dword [esi + 0x130], ebx
jne 0x1274828b
cmp dword [esi + 0xf8], ebx
je 0x127482bd
test byte [eax + 8], 1
je 0x127482bd
xor eax, eax
inc eax
add dword [ebp - 0x58], 2
mov dword [ebp - 0x68], eax
jmp 0x127482c3
cmp dword [eax + 0x62], ebx
je 0x127481b4
mov dword [ebp - 0x60], 1
jmp 0x12748275
cmp dword [eax + 0x62], ebx
je 0x127481b4
mov dword [ebp - 0x60], ebx
jmp 0x12748275
xor eax, eax
mov dword [ebp - 0x68], ebx
inc eax
cmp dword [esi + 0xe0], 7
jne 0x127482e7
mov dword [ebp - 0x74], eax
cmp ecx, 6
je 0x127482e0
mov dword [ebp - 0x7c], 2
cmp ecx, 7
jne 0x127482e3
mov dword [ebp - 0x7c], eax
add dword [ebp - 0x58], 4
cmp dword [esi + 0xf8], ebx
jne 0x127482f7
mov dword [ebp - 0x64], ebx
cmp dword [ebp - 0x68], ebx
je 0x127482fe
mov dword [ebp - 0x64], 1
mov eax, dword [0x1277ea84]
xor ebx, ebx
cmp dword [esi + 0xb0], 1
setne bl
xor ecx, ecx
cmp eax, ecx
je 0x1274837e
cmp dword [ebp - 0x5c], 1
jg 0x1274837e
cmp dword [ebp - 0x6c], ecx
jne 0x1274837e
cmp dword [ebp - 0x58], ecx
je 0x12748330
cmp dword [ebp - 0x60], 1
jne 0x1274837e
cmp dword [ebp - 0x74], ecx
jne 0x1274837e
mov dword [ebp - 0x80], ecx
cmp dword [ebp - 0x58], ecx
je 0x12748345
xor ecx, ecx
cmp dword [ebp - 0x58], 9
setge cl
inc ecx
mov dword [ebp - 0x80], ecx
cmp dword [ebp - 0x80], 0
mov ecx, dword [ebp - 0x64]
je 0x12748351
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x5c]
lea edx, [edi + edx*2]
mov edi, dword [ebp - 0x70]
lea edx, [ebx + edx*2]
imul edx, edx, 3
add edx, dword [ebp - 0x80]
lea ecx, [ecx + edx*2]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xd0a], eax
test eax, eax
je 0x1274837e
mov eax, dword [0x1277ea80]
mov dword [esi + 0xd06], eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x74]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp + 0xc]
imul ecx, ecx, 3
mov edx, dword [eax + 0x10]
add ecx, dword [ebp - 0x60]
mov ecx, dword [edx + ecx*4]
mov dword [esi + 0xd26], ecx
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x7c]
mov edx, dword [edx + ecx*4]
mov dword [esi + 0xd16], edx
mov edx, dword [eax + 8]
mov edx, dword [edx]
mov dword [esi + 0xd12], edx
test edi, edi
je 0x127483c3
cmp dword [esi + 0xe8], 4
jne 0x127483f7
cmp dword [ebp - 0x5c], 1
jg 0x127483f7
cmp ecx, 1
jg 0x127483f7
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x64]
lea ecx, [ebx + ecx*2]
lea ecx, [edx + ecx*2]
mov edx, dword [ebp - 0x6c]
lea ecx, [edx + ecx*2]
mov edx, dword [ebp - 0x78]
lea ecx, [edx + ecx*2]
mov edx, dword [ebp - 0x5c]
lea ecx, [edi + ecx*2]
lea ecx, [edx + ecx*2]
mov edx, dword [eax + 4]
mov ecx, dword [edx + ecx*4]
jmp 0x127483f9
mov ecx, dword [eax]
cmp dword [0x1277ea7c], 0
mov edx, dword [ebp - 0x64]
mov dword [esi + 0xd0e], ecx
mov ecx, dword [ebp - 0x58]
lea ecx, [ebx + ecx*2]
lea ecx, [edx + ecx*2]
mov edx, dword [ebp - 0x6c]
lea ecx, [edx + ecx*2]
mov edx, dword [ebp - 0x78]
lea ecx, [edx + ecx*2]
mov edx, dword [ebp - 0x5c]
lea ecx, [edi + ecx*2]
lea edi, [edx + ecx*2]
jne 0x12748484
cmp edi, dword [0x1277925c]
je 0x12748484
mov ecx, dword [esi + 0xd0e]
cmp ecx, dword [eax]
jne 0x12748484
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x12722bf0
call esi
push edi
push dword [ebp - 0x5c]
lea eax, [ebp - 0x54]
push dword [ebp - 0x70]
mov dword [0x1277ea7c], 1
push dword [ebp - 0x78]
push dword [ebp - 0x6c]
push dword [ebp - 0x64]
push ebx
push dword [ebp - 0x58]
push 0x12722bd0
push eax
call dword [sym.imp.msvcrt.dll_sprintf]
add esp, 0x28
lea eax, [ebp - 0x54]
push eax
call esi
mov dword [0x1277925c], edi
xor eax, eax
jmp 0x127481b9