Function at 0x452e90
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4916b1
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x4bd7f4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
push 0x49fb90
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x18], eax
push 0x49fbac
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10], eax
push 0x49fbc0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [0x4c1a90], 2
jne 0x452eff
movzx ecx, word [ebp + 0xc]
shl ecx, 0xa
movzx edx, word [ebp + 8]
or ecx, edx
push ecx
call dword [ebp - 0x10]
jmp 0x452f13
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 - 0x14]
call fcn.004015e0
mov dword [ebp - 4], 0
push 0x9e
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x455
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0x98
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x3ef
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xdf
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x519
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0x97
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x456
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xb4
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x4f5
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xce
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x51c
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405590
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d50
push 0xa3
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d80
mov dword [ebp - 0x1c], 0xffffffff
mov edx, dword [0x4c1a98]
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x1c], eax
push 0xa4
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d80
push 0xfe
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d80
cmp dword [ebp - 0x1c], 0x16
je 0x4530a1
cmp dword [ebp - 0x1c], 0x19
jne 0x4530c5
push 0x49fbc4
lea ecx, [ebp - 0x14]
call fcn.00402580
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d80
mov ecx, dword [0x4c1a98]
movzx edx, byte [ecx + 0x74]
test edx, edx
jne 0x453121
cmp dword [ebp - 0x1c], 1
jne 0x453121
push 0xa5
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d80
push 0x49fbcc
lea ecx, [ebp - 0x14]
call fcn.00402580
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d80
mov eax, dword [0x4c1a98]
movzx ecx, byte [eax + 0x74]
test ecx, ecx
je 0x453158
cmp dword [ebp - 0x1c], 9
jne 0x453158
push 0x49fbd4
lea ecx, [ebp - 0x14]
call fcn.00402580
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d80
mov edx, dword [0x4c1a98]
movzx eax, byte [edx + 0x74]
test eax, eax
jne 0x4531b4
cmp dword [ebp - 0x1c], 9
jne 0x4531b4
push 0x49fbdc
lea ecx, [ebp - 0x14]
call fcn.00402580
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d80
push 0x49fbe4
lea ecx, [ebp - 0x14]
call fcn.00402580
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405d80
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x28]
add ecx, 0x88
call fcn.00405490
mov ecx, dword [ebp - 0x28]
add ecx, 0x284
call fcn.00405590
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x284
call fcn.00405d50
push 0xd8
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x284
call fcn.00405d80
push 0x49fbec
mov ecx, dword [ebp - 0x28]
add ecx, 0x284
call fcn.00405d80
push str.6_mA
mov ecx, dword [ebp - 0x28]
add ecx, 0x284
call fcn.00405d80
push str.9_mA
mov ecx, dword [ebp - 0x28]
add ecx, 0x284
call fcn.00405d80
push str.12_mA
mov ecx, dword [ebp - 0x28]
add ecx, 0x284
call fcn.00405d80
mov edx, dword [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x28]
add ecx, 0x284
call fcn.00405490
push 0xe0
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x53d
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xe1
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x423
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0x99
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x424
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xe3
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x425
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
mov ecx, dword [ebp - 0x28]
add ecx, 0x2d8
call fcn.00405590
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x2d8
call fcn.00405d50
push 0xd8
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x2d8
call fcn.00405d80
push 0xd9
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x2d8
call fcn.00405d80
push 0xda
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x2d8
call fcn.00405d80
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x2d8
call fcn.00405490
mov ecx, dword [ebp - 0x28]
add ecx, 0x32c
call fcn.00405590
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x32c
call fcn.00405d50
push 0xd8
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x32c
call fcn.00405d80
push 0xd9
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x32c
call fcn.00405d80
push 0xda
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x32c
call fcn.00405d80
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x28]
add ecx, 0x32c
call fcn.00405490
mov ecx, dword [ebp - 0x28]
add ecx, 0x380
call fcn.00405590
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x380
call fcn.00405d50
push 0xd8
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x380
call fcn.00405d80
push 0xd9
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x380
call fcn.00405d80
push 0xda
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x380
call fcn.00405d80
mov edx, dword [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x28]
add ecx, 0x380
call fcn.00405490
push 0xcf
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x521
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0x75
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x431
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xd3
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x524
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xd4
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x522
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xd5
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x523
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xd6
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x527
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xd8
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x530
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x531
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x532
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x533
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0x71
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x536
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x537
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x538
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x539
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xe2
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x53c
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xf0
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x518
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xf1
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x4f6
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xf3
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x550
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xf4
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x551
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0xf9
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x559
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0x100
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x42d
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
push 0x103
lea ecx, [ebp - 0x14]
call fcn.00402350
lea ecx, [ebp - 0x14]
call fcn.00401060
push eax
push 0x56a
mov ecx, dword [ebp - 0x28]
call fcn.0040ce7d
mov dword [ebp - 0x24], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00401680
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 8