Function at 0x40d640
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x456fb1
mov eax, dword fs:[0]
push eax
mov eax, 0x517c
call fcn.00420810
mov eax, dword [0x47706c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
lea ecx, [ebp - 0x5174]
call fcn.0040e500
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx], 0
je 0x40d6a7
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call fcn.0043a885
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx], 0
mov ecx, dword [ebp + 8]
add ecx, 0x14
call fcn.004040c0
push eax
mov ecx, dword [ebp + 8]
call fcn.0040d470
movzx edx, al
test edx, edx
jne 0x40d6e6
mov byte [ebp - 0x5165], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5174]
call fcn.0040e4b0
mov al, byte [ebp - 0x5165]
jmp 0x40daee
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [eax + 0xc]
jge 0x40d72c
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call fcn.0043a885
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx], 0
mov byte [ebp - 0x5166], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5174]
call fcn.0040e4b0
mov al, byte [ebp - 0x5166]
jmp 0x40daee
cmp dword [ebp + 0x10], 0
jne 0x40d76d
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call fcn.0043a885
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx], 0
mov byte [ebp - 0x5167], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5174]
call fcn.0040e4b0
mov al, byte [ebp - 0x5167]
jmp 0x40daee
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
test eax, eax
jne 0x40d7b3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call fcn.0043a885
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov byte [ebp - 0x5168], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5174]
call fcn.0040e4b0
mov al, byte [ebp - 0x5168]
jmp 0x40daee
mov ecx, dword [ebp + 8]
cmp dword [ecx], 0
jne 0x40d7f6
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call fcn.0043a885
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx], 0
mov byte [ebp - 0x5169], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5174]
call fcn.0040e4b0
mov al, byte [ebp - 0x5169]
jmp 0x40daee
lea ecx, [ebp - 0x5164]
call fcn.00404490
mov byte [ebp - 4], 1
push 0
call fcn.0040d240
add esp, 4
mov dword [ebp - 0x5188], eax
mov dword [ebp - 0x5184], edx
xor edx, edx
mov dword [ebp - 0x5134], edx
mov dword [ebp - 0x5130], edx
mov dword [ebp - 0x512c], edx
mov dword [ebp - 0x5128], edx
mov dword [ebp - 0x5124], edx
mov dword [ebp - 0x5120], edx
mov dword [ebp - 0x511c], edx
mov dword [ebp - 0x5118], edx
mov dword [ebp - 0x5114], edx
lea eax, [ebp - 0x5188]
push eax
lea ecx, [ebp - 0x5134]
push ecx
call fcn.0040d260
add esp, 8
push pe_nt_image_headers32
push 0
lea edx, [ebp - 0x110]
push edx
call fcn.004372f0
add esp, 0xc
lea ecx, [ebp - 0x514c]
call fcn.00404490
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x5178], eax
cmp dword [ebp - 0x5178], 6
ja case.default.0x40d8aa
mov ecx, dword [ebp - 0x5178]
jmp dword [ecx*4 + 0x40db08]
push str.trace
lea ecx, [ebp - 0x514c]
call fcn.0040e640
push 0x4680c8
lea ecx, [ebp - 0x514c]
call fcn.0040e640
jmp case.default.0x40d8aa
push 0x4680d0
lea ecx, [ebp - 0x514c]
call fcn.0040e640
jmp case.default.0x40d8aa
push 0x4680d8
lea ecx, [ebp - 0x514c]
call fcn.0040e640
jmp case.default.0x40d8aa
push 0x4680e0
lea ecx, [ebp - 0x514c]
call fcn.0040e640
jmp case.default.0x40d8aa
push 0x4680e8
lea ecx, [ebp - 0x514c]
call fcn.0040e640
jmp case.default.0x40d8aa
push 0x4680f0
lea ecx, [ebp - 0x514c]
call fcn.0040e640
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call sub.KERNEL32.dll_GetCurrentProcessId
push eax
lea ecx, [ebp - 0x514c]
call fcn.004040c0
push eax
mov edx, dword [ebp - 0x5134]
push edx
mov eax, dword [ebp - 0x5130]
push eax
mov ecx, dword [ebp - 0x512c]
push ecx
mov edx, dword [ebp - 0x5128]
push edx
mov eax, dword [ebp - 0x5124]
add eax, 1
push eax
mov ecx, dword [ebp - 0x5120]
add ecx, 0x76c
push ecx
push str._4.4d__2.2d__2.2d__2.2d:_2.2d:_2.2d_s_d._d
push 0xff
lea edx, [ebp - 0x110]
push edx
call fcn.0040d1d0
add esp, 0x30
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x5164]
call fcn.0040e640
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x514c]
call fcn.00404250
lea ecx, [ebp + 0x14]
mov dword [ebp - 0x5180], ecx
push 0x5000
push 0
lea edx, [ebp - 0x5110]
push edx
call fcn.004372f0
add esp, 0xc
mov dword [ebp - 0x517c], 0
mov eax, dword [ebp - 0x5180]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0x4fff
lea edx, [ebp - 0x5110]
push edx
call fcn.0040d180
add esp, 0x10
mov dword [ebp - 0x517c], eax
cmp dword [ebp - 0x517c], 0xffffffff
jne 0x40da3b
mov byte [ebp - 0x516a], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5164]
call fcn.00404250
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5174]
call fcn.0040e4b0
mov al, byte [ebp - 0x516a]
jmp 0x40daee
lea eax, [ebp - 0x5110]
push eax
lea ecx, [ebp - 0x5164]
call fcn.0040e620
mov dword [ebp - 0x5180], 0
push 0x468128
lea ecx, [ebp - 0x5164]
call fcn.0040e620
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
lea ecx, [ebp - 0x5164]
call fcn.004040c0
push eax
call fcn.0043f106
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.0043a78e
add esp, 4
lea ecx, [ebp - 0x5164]
call fcn.004040c0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [ebp + 8]
cmp dword [edx], 0
je 0x40dac0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.0043a885
add esp, 4
mov edx, dword [ebp + 8]
mov dword [edx], 0
mov byte [ebp - 0x516b], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5164]
call fcn.00404250
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5174]
call fcn.0040e4b0
mov al, byte [ebp - 0x516b]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041f4e5
mov esp, ebp
pop ebp
ret