Function at 0x437870
Capabilities:
Delete file
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x4a18fe
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x4c84d4]
xor eax, esp
mov dword [esp + 0x8c], eax
push ebx
push ebp
push esi
mov eax, dword [0x4c84d4]
xor eax, esp
push eax
lea eax, [esp + 0xa4]
mov dword fs:[0], eax
push 0x3c4
mov ebx, ecx
push str.CBaseNode::addNonStructedData
push str.Enter_FUNCTION:_s__LINE:_d
lea ecx, [esp + 0x8c]
mov dword [esp + 0x24], ebx
call fcn.0044a470
add esp, 0xc
xor ebp, ebp
mov dword [esp + 0xac], ebp
mov eax, dword [esp + 0xbc]
push eax
lea ecx, [edi + 0x100]
push ecx
mov ecx, edi
call fcn.00437030
test eax, eax
jne 0x437912
cmp dword [esp + 0x98], 0x10
jb 0x43790b
mov edx, dword [esp + 0x84]
push edx
call fcn.00460054
add esp, 4
xor eax, eax
jmp 0x437d3f
cmp dword [edi + 0xb0], ebp
je 0x437aa3
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
mov esi, dword [esp + 0xb4]
push esi
push ebx
lea eax, [esp + 0x6c]
mov byte [esp + 0xb4], 1
call fcn.004035a0
cmp dword [edi + 0xb8], ebp
je 0x437996
mov eax, dword [edi + 0xd0]
add eax, esi
cmp eax, dword [edi + 0x84]
jbe 0x43797d
lea ecx, [esp + 0x64]
call fcn.00408d90
lea ecx, [esp + 0x80]
call fcn.00408d90
xor eax, eax
jmp 0x437d3f
push ebp
lea eax, [esp + 0x68]
push eax
lea esi, [edi + 0xbc]
or eax, 0xffffffff
call fcn.00403f60
jmp 0x437a81
lea esi, [edi + 0xf4]
lea edx, [esp + 0xbc]
mov ecx, esi
call fcn.00439c70
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
call fcn.004081b0
movzx eax, word [edi + 0x8c]
cmp ax, bp
je 0x437a81
mov ecx, dword [edi + 0xfc]
movzx eax, ax
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x437a81
sub ecx, eax
xor ebx, ebx
test ecx, ecx
jle 0x437a81
lea ebx, [ebx]
mov eax, dword [esi + 4]
mov ebp, dword [eax]
cmp ebp, eax
jne 0x4379fe
call fcn.0047ecbf
cmp dword [edi + 0x168], 0x10
jb 0x437a0f
mov eax, dword [edi + 0x154]
jmp 0x437a15
lea eax, [edi + 0x154]
mov edx, dword [ebp + 0xc]
push edx
push eax
push str._s_d
lea ecx, [esp + 0x38]
call fcn.0044a470
mov ebp, 0x10
add esp, 0xc
cmp dword [eax + 0x18], ebp
jb 0x437a3a
mov eax, dword [eax + 4]
jmp 0x437a3d
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [esp + 0x44], ebp
jb 0x437a57
mov eax, dword [esp + 0x30]
push eax
call fcn.00460054
add esp, 4
mov eax, dword [esi + 4]
mov eax, dword [eax]
push eax
push esi
lea ecx, [esp + 0x24]
push ecx
push esi
call fcn.00410e40
movzx edx, word [edi + 0x8c]
mov eax, dword [esp + 0x14]
add ebx, 1
sub eax, edx
cmp ebx, eax
jl 0x4379f0
mov ebp, 0x10
mov byte [esp + 0xac], 0
cmp dword [esp + 0x7c], ebp
jb 0x437aa8
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00460054
add esp, 4
jmp 0x437aa8
mov ebp, 0x10
cmp dword [edi + 0xa4], 0
je 0x437cda
lea ecx, [esp + 0x2c]
call fcn.0046ef4f
mov byte [esp + 0xac], 2
cmp dword [edi + 0x14c], ebp
push 0
jb 0x437ad8
mov eax, dword [edi + 0x138]
jmp 0x437ade
lea eax, [edi + 0x138]
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x34], esp
push eax
call fcn.00443e30
add esp, 4
call fcn.00444050
add esp, 0x20
cmp dword [edi + 0x14c], ebp
jb 0x437b08
mov eax, dword [edi + 0x138]
jmp 0x437b0e
lea eax, [edi + 0x138]
push 0
push 0x1001
push eax
lea ecx, [esp + 0x38]
call fcn.0046f334
test eax, eax
je 0x437b3f
push ebp
lea edx, [edi + 0x80]
push edx
lea ecx, [esp + 0x34]
call fcn.0046ec9d
lea ecx, [esp + 0x2c]
call fcn.0046eeed
jmp 0x437b4a
push 0x4b1c7c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [edi + 0xa8], 0
jne 0x437cc9
lea ecx, [esp + 0x1c]
call fcn.0046ef4f
mov byte [esp + 0xac], 3
cmp dword [edi + 0x168], ebp
push 0
jb 0x437b7a
mov eax, dword [edi + 0x154]
jmp 0x437b80
lea eax, [edi + 0x154]
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x34], esp
push eax
call fcn.00443e30
add esp, 4
call fcn.00444050
add esp, 0x20
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
mov bl, 4
mov byte [esp + 0xac], bl
cmp dword [edi + 0xb8], 0
jne 0x437c20
cmp dword [edi + 0x168], ebp
jb 0x437bd1
mov eax, dword [edi + 0x154]
jmp 0x437bd7
lea eax, [edi + 0x154]
mov ecx, dword [edi + 0x84]
push ecx
push eax
push str._s_d
lea ecx, [esp + 0x54]
call fcn.0044a470
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0xb8], 5
call fcn.004081b0
lea ecx, [esp + 0x48]
mov byte [esp + 0xac], bl
call fcn.00408d90
cmp dword [esp + 0x7c], ebp
mov eax, dword [esp + 0x68]
jae 0x437c24
lea eax, [esp + 0x68]
push 0
push 0x3001
push eax
lea ecx, [esp + 0x28]
call fcn.0046f334
test eax, eax
je 0x437c85
cmp dword [edi + 0xb8], 0
je 0x437c64
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x28]
push 2
push 0
push 0
lea ecx, [esp + 0x28]
call eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x18]
push ecx
push edx
jmp 0x437c71
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.0046ec9d
lea ecx, [esp + 0x1c]
call fcn.0046eeed
jmp 0x437c90
push str.error
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [esp + 0x7c], ebp
jb 0x437ca3
mov edx, dword [esp + 0x68]
push edx
call fcn.00460054
add esp, 4
lea ecx, [esp + 0x1c]
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
mov byte [esp + 0xac], 2
call fcn.0046f023
lea ecx, [esp + 0x2c]
mov byte [esp + 0xac], 0
call fcn.0046f023
push 0x430
push str.CBaseNode::addNonStructedData
push str.Leave_FUNCTION:_s__LINE:_d
lea ecx, [esp + 0x70]
call fcn.0044a470
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x8c]
mov byte [esp + 0xb8], 6
call fcn.004081b0
cmp dword [esp + 0x7c], ebp
jb 0x437d21
mov eax, dword [esp + 0x68]
push eax
call fcn.00460054
add esp, 4
cmp dword [esp + 0x98], ebp
jb 0x437d3a
mov ecx, dword [esp + 0x84]
push ecx
call fcn.00460054
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0xa4]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.0047d992
add esp, 0xa0
ret 0x14