Function at 0x415ca9
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f3630
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe8
push esi
lea ecx, [ebp - 0x2c]
call fcn.004025e0
lea ecx, [ebp - 0x1c]
call fcn.004025e0
push 8
call fcn.00422b80
mov dword [ebp - 0xd8], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0xd8], 0
je 0x415d08
mov ecx, dword [ebp - 0xd8]
call fcn.00422be0
mov dword [ebp - 0xec], eax
jmp 0x415d12
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x34], ecx
push 0x51ad00
push 0
push 0
push 1
push 2
mov dl, byte [0x53983c]
push edx
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push 0xf
mov ecx, dword [ebp - 0x34]
call fcn.00422c50
cmp dword [ebp + 0xc], 1
jne 0x415da7
mov dword [ebp - 0x2c], 0x14
mov dword [ebp - 0x28], 0x10e
mov dword [ebp - 0x24], 0xbe
mov dword [ebp - 0x20], 0x12d
mov dword [ebp - 0x1c], 0xc8
mov dword [ebp - 0x18], 0x109
mov dword [ebp - 0x14], 0x1c2
mov dword [ebp - 0x10], 0x190
mov dword [ebp - 0x38], 0x469
jmp 0x415ec8
cmp dword [ebp + 0xc], 2
jne 0x415df1
mov dword [ebp - 0x2c], 0x14
mov dword [ebp - 0x28], 0x12e
mov dword [ebp - 0x24], 0xbe
mov dword [ebp - 0x20], 0x14d
mov dword [ebp - 0x1c], 0xc8
mov dword [ebp - 0x18], 0x129
mov dword [ebp - 0x14], 0x1c2
mov dword [ebp - 0x10], 0x18d
mov dword [ebp - 0x38], 0x46a
jmp 0x415ec8
cmp dword [ebp + 0xc], 3
jne 0x415e3b
mov dword [ebp - 0x2c], 0x14
mov dword [ebp - 0x28], 0x14e
mov dword [ebp - 0x24], 0xbe
mov dword [ebp - 0x20], 0x16d
mov dword [ebp - 0x1c], 0xc8
mov dword [ebp - 0x18], 0x149
mov dword [ebp - 0x14], 0x1c2
mov dword [ebp - 0x10], 0x1ad
mov dword [ebp - 0x38], 0x46b
jmp 0x415ec8
cmp dword [ebp + 0xc], 4
jne 0x415e82
mov dword [ebp - 0x2c], 0x14
mov dword [ebp - 0x28], 0x16e
mov dword [ebp - 0x24], 0xbe
mov dword [ebp - 0x20], 0x193
mov dword [ebp - 0x1c], 0xc8
mov dword [ebp - 0x18], 0x169
mov dword [ebp - 0x14], 0x1c2
mov dword [ebp - 0x10], 0x1cd
mov dword [ebp - 0x38], 0x46c
jmp 0x415ec8
mov dword [ebp - 0x2c], 0x14
mov dword [ebp - 0x28], 0x12e
mov dword [ebp - 0x24], 0xbe
mov dword [ebp - 0x20], 0x148
mov dword [ebp - 0x20], 0x168
mov dword [ebp - 0x1c], 0xc8
mov dword [ebp - 0x18], 0x129
mov dword [ebp - 0x14], 0x1c2
mov dword [ebp - 0x10], 0x18d
mov dword [ebp - 0x38], 0x468
call fcn.00422ba0
mov dword [ebp - 0x40], eax
push 0x3c
call fcn.00422b80
mov dword [ebp - 0xe0], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0xe0], 0
je 0x415f00
mov ecx, dword [ebp - 0xe0]
call fcn.004086a0
mov dword [ebp - 0xf0], eax
jmp 0x415f0a
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x30], ecx
push 0x477
mov edx, dword [ebp - 0x40]
push edx
lea eax, [ebp - 0x2c]
push eax
push 0x40000002
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x138c
mov edx, dword [0x53a2a0]
lea eax, [edx + ecx + 0x1fc]
push eax
mov ecx, dword [ebp - 0x30]
call fcn.004ecdd1
test eax, eax
jne 0x415f99
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x138c
mov edx, dword [0x53a2a0]
lea eax, [edx + ecx + 0x1fc]
push eax
push 0x51ad08
lea ecx, [ebp - 0xd0]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [ebp - 0xd0]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x416405
mov eax, dword [ebp + 8]
imul eax, eax, 0x138c
mov ecx, dword [0x53a2a0]
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax + 0x1384], edx
push 1
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x138c
mov edx, dword [0x53a2a0]
mov ecx, dword [edx + ecx + 0x1384]
call fcn.00422ce0
push 0
mov eax, dword [ebp + 8]
imul eax, eax, 0x138c
mov ecx, dword [0x53a2a0]
mov ecx, dword [ecx + eax + 0x1384]
call fcn.004e7896
push 0x3c
call fcn.00422b80
mov dword [ebp - 0xe8], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0xe8], 0
je 0x416020
mov ecx, dword [ebp - 0xe8]
call fcn.00422d10
mov dword [ebp - 0xf4], eax
jmp 0x41602a
mov dword [ebp - 0xf4], 0
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x416051
jmp 0x416405
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x40]
push edx
lea eax, [ebp - 0x1c]
push eax
push 0x40200003
mov ecx, dword [ebp - 0x48]
call fcn.004ed028
mov ecx, dword [ebp - 0x48]
call fcn.00422dc0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x4c], 0
lea ecx, [ebp - 0x50]
call fcn.00401900
mov dword [ebp - 4], 3
mov ecx, dword [ebp + 8]
add ecx, 1
imul ecx, ecx, 0x138c
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp + 8]
lea edx, [eax + edx + 1]
imul edx, edx, 0x138c
mov eax, dword [0x53a2a0]
mov esi, dword [0x53a2a0]
mov ecx, dword [eax + ecx + 0xc]
cmp ecx, dword [esi + edx + 0xc]
jne 0x416378
push 0x51ad2c
mov ecx, 0x5396f0
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x416110
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 1]
imul ecx, ecx, 0x138c
mov edx, dword [0x53a2a0]
lea eax, [edx + ecx + 0x1fc]
push eax
mov ecx, dword [ebp - 0x48]
call fcn.00422d90
jmp 0x41626b
push str.EmulationType_KSSM
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 1]
imul eax, eax, 0x138c
mov ecx, dword [0x53a2a0]
lea edx, [ecx + eax + 0x181]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41626b
push str.EmulationType_KSC5843
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 1]
imul edx, edx, 0x138c
mov eax, dword [0x53a2a0]
lea ecx, [eax + edx + 0x181]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41626b
push str.EmulationType_KSC5895
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 1]
imul ecx, ecx, 0x138c
mov edx, dword [0x53a2a0]
lea eax, [edx + ecx + 0x181]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41626b
push 0x51ad74
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 1]
imul eax, eax, 0x138c
mov ecx, dword [0x53a2a0]
lea edx, [ecx + eax + 0x181]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41626b
push 0x51ad8c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 1]
imul edx, edx, 0x138c
mov eax, dword [0x53a2a0]
lea ecx, [eax + edx + 0x181]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41626b
push 0x51ada8
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 1]
imul ecx, ecx, 0x138c
mov edx, dword [0x53a2a0]
lea eax, [edx + ecx + 0x181]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41626b
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 1]
imul eax, eax, 0x138c
mov ecx, dword [0x53a2a0]
lea edx, [ecx + eax + 0x1fc]
push edx
mov ecx, dword [ebp - 0x48]
call fcn.00422d90
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov ecx, dword [ebp - 0x48]
call fcn.004ed0f0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 1]
imul edx, edx, 0x138c
mov eax, dword [0x53a2a0]
lea ecx, [eax + edx + 0x181]
push ecx
mov edx, dword [ebp + 8]
imul edx, edx, 0x138c
mov eax, dword [0x53a2a0]
lea ecx, [eax + edx + 0x24e]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x41633b
push 0x51adc4
mov edx, dword [ebp + 8]
imul edx, edx, 0x138c
mov eax, dword [0x53a2a0]
lea ecx, [eax + edx + 0x181]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41633b
push 0x51add4
mov ecx, 0x5396f0
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4162f9
mov edx, dword [ebp - 0x3c]
push edx
mov ecx, dword [ebp - 0x48]
call fcn.00422d60
jmp 0x416339
push str.EmulationType
mov eax, dword [ebp + 8]
imul eax, eax, 0x138c
mov ecx, dword [0x53a2a0]
lea edx, [ecx + eax + 0x181]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41632d
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x48]
call fcn.00422d60
jmp 0x416339
mov ecx, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
call fcn.00422d60
jmp 0x41636a
push 0x51ade8
mov edx, dword [ebp + 8]
imul edx, edx, 0x138c
mov eax, dword [0x53a2a0]
lea ecx, [eax + edx + 0x181]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x41636a
push 0
mov ecx, dword [ebp - 0x48]
call fcn.00422d60
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x416096
mov eax, dword [ebp + 8]
imul eax, eax, 0x138c
mov ecx, dword [0x53a2a0]
mov edx, dword [ebp - 0x48]
mov dword [ecx + eax + 0x1380], edx
push 1
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x138c
mov edx, dword [0x53a2a0]
mov ecx, dword [edx + ecx + 0x1380]
call fcn.00422ce0
push 0
mov eax, dword [ebp + 8]
imul eax, eax, 0x138c
mov ecx, dword [0x53a2a0]
mov ecx, dword [ecx + eax + 0x1380]
call fcn.004e7896
cmp dword [ebp - 0x48], 0
je 0x4163dc
mov dword [ebp - 0x48], 0
cmp dword [ebp - 0x30], 0
je 0x4163e9
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x34], 0
je 0x4163f6
mov dword [ebp - 0x34], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.004e812c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret