Function at 0x40a8a0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x438643
mov eax, dword fs:[0]
push eax
sub esp, 0x78
mov eax, dword [0x44d06c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 4], 0
push 0x38
mov dword [eax], 0
mov dword [eax + 4], 0
lea eax, [ebp - 0x7c]
push 0
push eax
call fcn.0041d1c0
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
mov byte [ebp - 0x78], 0
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov byte [ebp - 0x48], 0
add esp, 8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
push str._s_0x___0_9A_Fa_f__
call fcn.0040c2f0
mov ebx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
cmp dword [ebp + 0x20], 8
lea edi, [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x1c]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 0x80], 1
push edi
lea eax, [ecx + eax*2]
lea ecx, [ebp + 0xc]
cmovae ecx, edx
mov edx, ebx
push ecx
push eax
push ecx
lea ecx, [ebp - 0x7c]
call fcn.0040ee00
add esp, 0x10
test al, al
je 0x40a9b1
mov ecx, dword [ebp - 0x70]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x74]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jb 0x40a9b1
mov bl, 1
jmp 0x40a9b3
xor bl, bl
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x40a9d5
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x40a9d5
mov ecx, dword [ebp - 0x40]
xor edx, edx
call fcn.0040a240
mov dword [ebp - 0x40], 0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x40a9f8
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x40a9f8
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 1
test bl, bl
je 0x40abe0
mov ecx, dword [ebp - 0x70]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x74]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x40aa24
lea eax, [ebp - 0x50]
jmp 0x40aa2a
mov eax, dword [ebp - 0x74]
add eax, 0x18
cmp byte [eax + 8], 0
je 0x40aa37
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x40aa3b
xor ecx, ecx
xor eax, eax
xor esi, esi
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], si
mov edx, 7
mov dword [ebp - 0x18], edx
cmp ecx, eax
je 0x40aa65
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004016e0
mov edx, dword [ebp - 0x18]
push dword [ebp - 0x84]
cmp edx, 8
lea eax, [ebp - 0x2c]
push str._llX
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.00401920
mov edx, dword [ebp - 0x18]
add esp, 0xc
cmp edx, 8
jb 0x40aabd
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aab3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b22d
push edx
push ecx
call fcn.0041ae44
add esp, 8
push 8
xor eax, eax
mov dword [ebp - 0x1c], esi
push str._Maple_
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.004016e0
mov byte [ebp - 4], 4
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
lea eax, [ebp - 0x50]
jbe 0x40ab03
lea eax, [esi + 0x18]
cmp byte [eax + 8], 0
je 0x40ab10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x40ab14
xor ecx, ecx
xor eax, eax
xor edx, edx
xor edi, edi
mov dword [ebp - 0x34], edx
mov esi, 7
mov dword [ebp - 0x30], esi
mov word [ebp - 0x44], di
cmp ecx, eax
je 0x40ab3f
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x44]
call fcn.004016e0
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
cmp esi, 8
mov byte [ebp - 4], 5
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x2c]
push edx
push eax
call fcn.00402740
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x40ab91
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ab87
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b232
push edx
push ecx
call fcn.0041ae44
add esp, 8
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x40b0ed
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b0e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b237
jmp 0x40b0e3
push ecx
push str._s____d_
lea ecx, [ebp - 0x40]
call fcn.0040c2f0
mov ebx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp + 0xc]
cmp dword [ebp + 0x20], 8
lea edi, [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x1c]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 0x80], 2
push edi
lea eax, [ecx + eax*2]
lea ecx, [ebp + 0xc]
cmovae ecx, edx
mov edx, ebx
push ecx
push eax
push ecx
lea ecx, [ebp - 0x7c]
call fcn.0040ee00
add esp, 0x10
test al, al
je 0x40ac4e
mov ecx, dword [ebp - 0x70]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x74]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jb 0x40ac4e
mov bl, 1
jmp 0x40ac50
xor bl, bl
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x40ac72
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x40ac72
mov ecx, dword [ebp - 0x40]
xor edx, edx
call fcn.0040a240
mov dword [ebp - 0x40], 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x40ac95
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x40ac95
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 1
test bl, bl
je 0x40ae92
mov ecx, dword [ebp - 0x70]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x74]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x40acc1
lea eax, [ebp - 0x50]
jmp 0x40acc7
mov eax, dword [ebp - 0x74]
add eax, 0x18
cmp byte [eax + 8], 0
je 0x40acd4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x40acd8
xor ecx, ecx
xor eax, eax
xor esi, esi
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], si
mov edx, 7
mov dword [ebp - 0x18], edx
cmp ecx, eax
je 0x40ad02
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004016e0
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x84]
lea eax, [ebp - 0x2c]
cmp edx, 8
push ebx
cmovae eax, dword [ebp - 0x2c]
push str._lld
push eax
call fcn.00401920
mov edx, dword [ebp - 0x18]
add esp, 0xc
cmp edx, 8
jb 0x40ad5b
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ad51
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b23c
push edx
push ecx
call fcn.0041ae44
add esp, 8
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
not ecx
add ecx, 1
mov dword [ebp - 0x34], esi
not eax
mov dword [ebx], ecx
adc eax, 0
mov dword [ebp - 0x30], 7
mov dword [ebx + 4], eax
lea ecx, [ebp - 0x44]
push 8
xor eax, eax
push str._Maple_
mov word [ebp - 0x44], ax
call fcn.004016e0
mov byte [ebp - 4], 8
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
lea eax, [ebp - 0x50]
jbe 0x40adb5
lea eax, [esi + 0x18]
cmp byte [eax + 8], 0
je 0x40adc2
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x40adc6
xor ecx, ecx
xor eax, eax
xor edx, edx
xor edi, edi
mov dword [ebp - 0x1c], edx
mov esi, 7
mov dword [ebp - 0x18], esi
mov word [ebp - 0x2c], di
cmp ecx, eax
je 0x40adf1
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004016e0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
cmp esi, 8
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x44]
push edx
push eax
call fcn.00402740
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x40ae43
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ae39
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b241
push edx
push ecx
call fcn.0041ae44
add esp, 8
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x40b0ed
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b0e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b246
jmp 0x40b0e3
push ecx
push str._s___d_
lea ecx, [ebp - 0x40]
call fcn.0040c2f0
mov ebx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp + 0xc]
cmp dword [ebp + 0x20], 8
lea edi, [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x1c]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 0x80], 4
push edi
lea eax, [ecx + eax*2]
lea ecx, [ebp + 0xc]
cmovae ecx, edx
mov edx, ebx
push ecx
push eax
push ecx
lea ecx, [ebp - 0x7c]
call fcn.0040ee00
add esp, 0x10
test al, al
je 0x40af00
mov ecx, dword [ebp - 0x70]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x74]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jb 0x40af00
mov bl, 1
jmp 0x40af02
xor bl, bl
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x40af24
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x40af24
mov ecx, dword [ebp - 0x40]
xor edx, edx
call fcn.0040a240
mov dword [ebp - 0x40], 0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x40af47
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x40af47
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 1
test bl, bl
je 0x40b0f4
mov ecx, dword [ebp - 0x70]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x74]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x40af73
lea eax, [ebp - 0x50]
jmp 0x40af79
mov eax, dword [ebp - 0x74]
add eax, 0x18
cmp byte [eax + 8], 0
je 0x40af86
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x40af8a
xor ecx, ecx
xor eax, eax
xor esi, esi
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], si
mov edx, 7
mov dword [ebp - 0x18], edx
cmp ecx, eax
je 0x40afb4
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004016e0
mov edx, dword [ebp - 0x18]
push dword [ebp - 0x84]
cmp edx, 8
lea eax, [ebp - 0x2c]
push str._lld
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.00401920
mov edx, dword [ebp - 0x18]
add esp, 0xc
cmp edx, 8
jb 0x40b00c
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b002
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b24b
push edx
push ecx
call fcn.0041ae44
add esp, 8
push 8
xor eax, eax
mov dword [ebp - 0x34], esi
push str._Maple_
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.004016e0
mov byte [ebp - 4], 0xc
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
lea eax, [ebp - 0x50]
jbe 0x40b052
lea eax, [esi + 0x18]
cmp byte [eax + 8], 0
je 0x40b05f
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x40b063
xor ecx, ecx
xor eax, eax
xor edx, edx
xor edi, edi
mov dword [ebp - 0x1c], edx
mov esi, 7
mov dword [ebp - 0x18], esi
mov word [ebp - 0x2c], di
cmp ecx, eax
je 0x40b08e
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004016e0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
cmp esi, 8
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x44]
push edx
push eax
call fcn.00402740
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x40ae43
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ae39
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b250
jmp 0x40ae39
push edx
push ecx
call fcn.0041ae44
add esp, 8
mov bl, 1
jmp 0x40b178
push 8
xor eax, eax
mov dword [ebp - 0x1c], 0
push str._Maple_
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.004016e0
push 0xe
push str.DataParse_Fail
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call fcn.00402740
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x40b176
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b16c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b255
push edx
push ecx
call fcn.0041ae44
add esp, 8
xor bl, bl
mov esi, dword [ebp - 0x74]
test esi, esi
je 0x40b1d7
mov ecx, dword [ebp - 0x6c]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x40b1b8
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b25a
push ecx
push esi
call fcn.0041ae44
add esp, 8
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov edx, dword [ebp + 0x20]
cmp edx, 8
jb 0x40b20d
mov ecx, dword [ebp + 0xc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b203
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b25f
push edx
push ecx
call fcn.0041ae44
add esp, 8
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041ae03
mov esp, ebp
pop ebp
ret 0x1c
call fcn.0041fc7c
call fcn.0041fc7c
call fcn.0041fc7c
call fcn.0041fc7c
call fcn.0041fc7c
call fcn.0041fc7c
call fcn.0041fc7c
call fcn.0041fc7c
call fcn.0041fc7c
call fcn.0041fc7c
call fcn.0041fc7c
int3