Function at 0x447d80
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x493125
mov eax, dword fs:[0]
push eax
sub esp, 0x20c
mov eax, dword [0x4bd7f4]
xor eax, ebp
mov dword [ebp - 0x24], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x218], ecx
push 0x49d594
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x1c], eax
push 0x49d624
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10], eax
push 0x49d6ac
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [0x4c1a90], 2
jne 0x447df8
movzx ecx, word [ebp + 0xc]
shl ecx, 0xa
movzx edx, word [ebp + 8]
or ecx, edx
push ecx
call dword [ebp - 0x10]
jmp 0x447e0c
movzx eax, word [ebp + 0xc]
shl eax, 0xa
movzx ecx, word [ebp + 8]
or eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadLocale]
lea ecx, [ebp - 0x20c]
call fcn.0048a070
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x218]
add ecx, 0x19c
call fcn.00405590
movsx edx, byte [ebp + eax - 0x198]
mov dword [ebp - 0x20], edx
lea ecx, [ebp - 0x18]
call fcn.004015e0
mov byte [ebp - 4], 1
push 0x6e
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x45c
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x6f
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x45d
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x70
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x45e
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x72
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x45f
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x73
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x460
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x77
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x461
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x78
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x431
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x79
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x462
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x8e
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x463
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x8f
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x464
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x90
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x465
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x7e
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x466
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x7f
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x3fd
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x9b
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x468
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x80
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46b
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x81
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x478
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0xc8
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x4f9
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
mov ecx, dword [ebp - 0x218]
add ecx, 0x554
call fcn.004054e0
test eax, eax
je 0x4480cf
push 0x69
lea ecx, [ebp - 0x18]
call fcn.00402350
jmp 0x4480d9
push 0x6a
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46c
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
mov ecx, dword [ebp - 0x218]
add ecx, 0x554
call fcn.004054e0
test eax, eax
je 0x448113
push 0x67
lea ecx, [ebp - 0x18]
call fcn.00402350
jmp 0x44811d
push 0x68
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46e
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
mov ecx, dword [ebp - 0x218]
add ecx, 0x5a8
call fcn.004054e0
test eax, eax
je 0x448157
push 0x69
lea ecx, [ebp - 0x18]
call fcn.00402350
jmp 0x448161
push 0x6a
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46f
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
mov ecx, dword [ebp - 0x218]
add ecx, 0x5a8
call fcn.004054e0
test eax, eax
je 0x44819b
push 0x67
lea ecx, [ebp - 0x18]
call fcn.00402350
jmp 0x4481a5
push 0x68
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x471
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x6a
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x470
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x68
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x479
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x8c
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x472
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x9f
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x477
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x82
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x3f8
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x3fb
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x400
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x83
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x3f9
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x84
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x518
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x519
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x51a
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x85
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x3fe
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0xa2
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x40b
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x40e
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x40f
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
cmp dword [ebp - 0x20], 0x12
je 0x4483bc
cmp dword [ebp - 0x20], 0x13
je 0x4483bc
cmp dword [ebp - 0x20], 0x1c
je 0x4483bc
cmp dword [ebp - 0x20], 0x1e
jne 0x4483cb
push 0xf5
lea ecx, [ebp - 0x18]
call fcn.00402350
jmp 0x4483d8
push 0x88
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x402
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
cmp dword [ebp - 0x20], 0x12
je 0x448409
cmp dword [ebp - 0x20], 0x13
je 0x448409
cmp dword [ebp - 0x20], 0x1c
je 0x448409
cmp dword [ebp - 0x20], 0x1e
jne 0x448418
push 0xf6
lea ecx, [ebp - 0x18]
call fcn.00402350
jmp 0x448425
push 0x89
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x403
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x76
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x42c
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x71
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x425
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x426
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x430
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x3f7
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0xa9
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x3fe
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x475
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0xad
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x3f6
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0xb0
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x423
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0xb2
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x4c5
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
cmp dword [ebp - 0x20], 0x13
je 0x44858c
cmp dword [ebp - 0x20], 0x1e
jne 0x4485c0
push 0
push 0x3f3
mov ecx, dword [ebp - 0x218]
call fcn.0040ce2a
mov ecx, eax
call fcn.0040d00c
push 0
push 0x415
mov ecx, dword [ebp - 0x218]
call fcn.0040ce2a
mov ecx, eax
call fcn.0040d00c
jmp 0x4485f2
push 1
push 0x3f3
mov ecx, dword [ebp - 0x218]
call fcn.0040ce2a
mov ecx, eax
call fcn.0040d00c
push 1
push 0x415
mov ecx, dword [ebp - 0x218]
call fcn.0040ce2a
mov ecx, eax
call fcn.0040d00c
mov ecx, dword [ebp - 0x218]
call fcn.00445960
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x20], 0x12
je 0x44860c
cmp dword [ebp - 0x20], 0x1c
jne 0x44861b
push 0xf8
lea ecx, [ebp - 0x18]
call fcn.00402350
jmp 0x448628
push 0xb1
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x3f3
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0xae
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x4c0
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x6c
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x4fc
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x86
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x55f
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x560
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
mov ecx, dword [ebp - 0x218]
call fcn.00445960
mov dword [ebp - 0x210], eax
mov eax, dword [0x4c1a98]
movzx ecx, byte [eax + 0x74]
test ecx, ecx
je 0x4487ef
cmp dword [ebp - 0x210], 7
je 0x4486fd
cmp dword [ebp - 0x210], 8
jne 0x448743
push 0x6d
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46c
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x6a
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46f
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
cmp dword [ebp - 0x210], 0x15
jne 0x448792
push 0x6d
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46c
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x69
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46f
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
cmp dword [ebp - 0x210], 0x1c
je 0x4487a4
cmp dword [ebp - 0x210], 0x1f
jne 0x4487ea
push 0x69
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46c
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x6d
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46f
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
jmp 0x448896
cmp dword [ebp - 0x210], 7
je 0x448801
cmp dword [ebp - 0x210], 8
jne 0x448847
push 0x6d
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46c
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x6a
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46f
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
cmp dword [ebp - 0x210], 0x15
jne 0x448896
push 0x69
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46c
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0x6d
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x46f
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0xdb
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x52a
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
push 0xf2
lea ecx, [ebp - 0x18]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00401060
push eax
push 0x51d
mov ecx, dword [ebp - 0x218]
call fcn.0040ce7d
mov ecx, dword [ebp - 0x218]
call fcn.004468d0
mov dword [ebp - 0x214], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00401680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20c]
call fcn.0048a060
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.004282fc
mov esp, ebp
pop ebp
ret 8