Function at 0x40594c
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5010bc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x138
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ebx
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x74], al
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x40599a
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x405992
mov ebx, eax
lea edx, [ebp - 0x78]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x144], edx
cmp ecx, 0x10
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x13c], ebx
jb 0x4059be
mov edx, dword [ebp - 0x74]
jmp 0x4059c1
lea edx, [ebp - 0x74]
cmp edx, edi
jbe 0x4059c9
xor edx, edx
jmp 0x4059e6
cmp ecx, 0x10
jb 0x4059d3
mov edx, dword [ebp - 0x74]
jmp 0x4059d6
lea edx, [ebp - 0x74]
add edx, dword [ebp - 0x64]
cmp edi, edx
jae 0x406798
mov edx, 1
test edx, edx
jne 0x40654e
mov dword [ebp - 0xa0], ebx
cmp ebx, 0xfffffffe
jbe 0x405a04
lea ecx, [ebp - 0x78]
call fcn.004fd6a2
mov ecx, dword [ebp - 0x60]
cmp ecx, ebx
jae 0x405b03
lea edx, [ebp - 0x78]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x90], ebx
mov edx, ebx
or edx, 0xf
mov dword [ebp - 0x8c], 0
cmp edx, 0xfffffffe
mov dword [ebp - 0x2c], edx
jbe 0x405a37
mov edx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 4], 0xc
inc edx
push edx
call fcn.004fd56e
pop ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x8c], 0
ja 0x4063b5
mov eax, dword [ebp - 0x94]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jae 0x406387
mov eax, dword [ebp - 0x94]
mov dword [eax + 0x18], 0xf
mov edx, dword [ebp - 0x94]
mov dword [edx + 0x14], 0
mov ecx, dword [ebp - 0x94]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x405aa2
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 4]
jmp 0x405aab
mov eax, dword [ebp - 0x94]
add eax, 4
mov byte [eax], 0
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x2c]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp - 0x8c]
mov dword [edi + 0x14], esi
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x18]
cmp eax, 0x10
jb 0x405aee
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 4]
jmp 0x405af7
mov eax, dword [ebp - 0x94]
add eax, 4
mov edx, dword [ebp - 0x8c]
mov byte [eax + edx], 0
jmp 0x405b0c
cmp ebx, 0x10
jb 0x406522
cmp dword [ebp - 0xa0], 0
ja 0x4064ab
mov dword [ebp - 4], 0x10
xor ebx, ebx
lea eax, [ebp - 0x78]
inc ebx
mov dword [ebp - 0x84], eax
mov byte [ebp - 0x80], 0x2f
mov dword [ebp - 0x7c], ebx
cmp ebx, dword [ebp - 0x64]
jae 0x405b49
mov eax, dword [ebp - 0x64]
sub eax, ebx
cmp eax, 1
mov dword [ebp - 0x14], eax
jae 0x4063ee
mov ebx, 0xffffffff
cmp ebx, 0xffffffff
je 0x405b94
mov eax, dword [ebp - 0x60]
cmp eax, 0x10
jb 0x405b60
mov eax, dword [ebp - 0x74]
jmp 0x405b63
lea eax, [ebp - 0x74]
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x60]
cmp eax, 0x10
jb 0x405b74
mov eax, dword [ebp - 0x74]
jmp 0x405b77
lea eax, [ebp - 0x74]
push eax
call sub.MSVCR70.dll__mkdir
pop ecx
mov eax, dword [ebp - 0x60]
cmp eax, 0x10
jb 0x405b8b
mov eax, dword [ebp - 0x74]
jmp 0x405b8e
lea eax, [ebp - 0x74]
mov byte [eax + ebx], 0x2f
jmp 0x405b22
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x60]
cmp eax, 0x10
jae 0x40648f
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x74], 0
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0xac], 0
ja 0x405d88
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jae 0x405d5a
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x18], 0xf
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x14], 0
mov ecx, dword [ebp - 0xb4]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x405cc6
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 4]
jmp 0x405ccf
mov eax, dword [ebp - 0xb4]
add eax, 4
mov byte [eax], 0
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x34]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x38]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xac]
mov dword [edi + 0x14], esi
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x18]
cmp eax, 0x10
jb 0x405d12
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 4]
jmp 0x405d1b
mov eax, dword [ebp - 0xb4]
add eax, 4
mov edx, dword [ebp - 0xac]
mov byte [eax + edx], 0
cmp dword [ebp - 0xc0], 0
jbe 0x405b19
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ecx + 0x18]
mov dword [ecx + 0x14], eax
cmp edx, 0x10
jb 0x405d4b
mov ecx, dword [ecx + 4]
jmp 0x405d4e
add ecx, 4
mov eax, dword [ebp - 0x3c]
mov byte [ecx + eax], 0
jmp 0x405b19
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x405d73
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 4]
jmp 0x405d7c
mov eax, dword [ebp - 0xb4]
add eax, 4
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x405c93
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x405da1
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 4]
jmp 0x405daa
mov eax, dword [ebp - 0xb4]
add eax, 4
push dword [ebp - 0xac]
push eax
push dword [ebp - 0x34]
call fcn.004fd7e4
add esp, 0xc
jmp 0x405c81
cmp dword [ebp - 0xdc], 0
ja 0x4060e4
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jae 0x4060b6
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x18], 0xf
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x14], 0
mov ecx, dword [ebp - 0xe4]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x405e8a
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 4]
jmp 0x405e93
mov eax, dword [ebp - 0xe4]
add eax, 4
mov byte [eax], 0
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x44]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x48]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov dword [edi + 0x14], esi
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x18]
cmp eax, 0x10
jb 0x405ed6
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 4]
jmp 0x405edf
mov eax, dword [ebp - 0xe4]
add eax, 4
mov edx, dword [ebp - 0xdc]
mov byte [eax + edx], 0
cmp dword [ebp - 0xf0], 0
ja 0x40608e
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], eax
cmp dword [edx + 0x14], 0
jae 0x405f29
mov ecx, dword [ebp - 0xd4]
call fcn.004fd62a
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0xcc]
sub ecx, dword [ebp - 0xd0]
cmp ecx, edx
jb 0x405f44
mov ecx, edx
test ecx, ecx
mov dword [ebp - 0xcc], ecx
jbe 0x405b19
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x405f65
mov eax, dword [eax + 4]
jmp 0x405f68
add eax, 4
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x18]
cmp edx, 0x10
jb 0x405f7b
mov ecx, dword [ecx + 4]
jmp 0x405f7e
add ecx, 4
add eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xd0]
add ebx, dword [ebp - 0xcc]
add ebx, ecx
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x14]
sub edx, dword [ebp - 0xd0]
sub edx, dword [ebp - 0xcc]
push edx
push ebx
push eax
call sub.MSVCR70.dll_memmove
add esp, 0xc
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0xd4]
sub ecx, dword [ebp - 0xcc]
cmp ecx, 0xfffffffe
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], ecx
jbe 0x405fe6
mov ecx, dword [ebp - 0xc4]
call fcn.004fd6a2
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax + 0x18]
cmp edx, dword [ebp - 0x3c]
jae 0x40604d
mov eax, dword [ebp - 0xc4]
mov ebx, dword [eax + 0x14]
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xb4], edx
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0xb0], ecx
or esi, 0xf
cmp esi, 0xfffffffe
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x38], esi
jbe 0x40602c
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x38]
inc eax
push eax
call fcn.004fd56e
pop ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x405c74
cmp dword [ebp - 0x3c], 0
jne 0x405d25
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x14], 0
mov edx, dword [ebp - 0xc4]
mov ecx, dword [edx + 0x18]
cmp ecx, 0x10
jb 0x40607d
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 4]
jmp 0x406086
mov eax, dword [ebp - 0xc4]
add eax, 4
mov byte [eax], 0
jmp 0x405d25
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ecx + 0x18]
mov dword [ecx + 0x14], eax
cmp edx, 0x10
jb 0x4060a7
mov ecx, dword [ecx + 4]
jmp 0x4060aa
add ecx, 4
mov eax, dword [ebp - 0x4c]
mov byte [ecx + eax], 0
jmp 0x405ef6
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x4060cf
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 4]
jmp 0x4060d8
mov eax, dword [ebp - 0xe4]
add eax, 4
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x405e57
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x4060fd
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 4]
jmp 0x406106
mov eax, dword [ebp - 0xe4]
add eax, 4
push dword [ebp - 0xdc]
push eax
push dword [ebp - 0x44]
call fcn.004fd7e4
add esp, 0xc
jmp 0x405e45
cmp dword [ebp - 0x10c], 0
ja 0x40630e
mov eax, dword [ebp - 0x114]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jae 0x4062e0
mov eax, dword [ebp - 0x114]
mov dword [eax + 0x18], 0xf
mov edx, dword [ebp - 0x114]
mov dword [edx + 0x14], 0
mov ecx, dword [ebp - 0x114]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x4061e6
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 4]
jmp 0x4061ef
mov eax, dword [ebp - 0x114]
add eax, 4
mov byte [eax], 0
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x54]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x58]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0x10c]
mov dword [edi + 0x14], esi
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 0x18]
cmp eax, 0x10
jb 0x406232
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 4]
jmp 0x40623b
mov eax, dword [ebp - 0x114]
add eax, 4
mov edx, dword [ebp - 0x10c]
mov byte [eax + edx], 0
cmp dword [ebp - 0x120], 0
jbe 0x405b19
mov eax, dword [ebp - 0x134]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x40626b
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 4]
jmp 0x406274
mov ecx, dword [ebp - 0x134]
add ecx, 4
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x40628d
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 4]
jmp 0x406296
mov eax, dword [ebp - 0x130]
add eax, 4
add eax, dword [ebp - 0x12c]
push dword [ebp - 0x5c]
push eax
push ecx
call fcn.004fd7e4
add esp, 0xc
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x134]
mov dword [eax + 0x14], ebx
mov edx, dword [ebp - 0x134]
mov ecx, dword [edx + 0x18]
cmp ecx, 0x10
jb 0x4062ce
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
jmp 0x4062d7
mov eax, dword [ebp - 0x134]
add eax, 4
mov byte [eax + ebx], 0
jmp 0x405b19
mov eax, dword [ebp - 0x114]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x4062f9
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 4]
jmp 0x406302
mov eax, dword [ebp - 0x114]
add eax, 4
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x4061b3
mov eax, dword [ebp - 0x114]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x406327
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 4]
jmp 0x406330
mov eax, dword [ebp - 0x114]
add eax, 4
push dword [ebp - 0x10c]
push eax
push dword [ebp - 0x54]
call fcn.004fd7e4
add esp, 0xc
jmp 0x4061a1
mov eax, dword [ebp - 0x94]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x4063a0
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 4]
jmp 0x4063a9
mov eax, dword [ebp - 0x94]
add eax, 4
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x405a6f
mov eax, dword [ebp - 0x94]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x4063ce
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 4]
jmp 0x4063d7
mov eax, dword [ebp - 0x94]
add eax, 4
push dword [ebp - 0x8c]
push eax
push dword [ebp - 0x28]
call fcn.004fd7e4
add esp, 0xc
jmp 0x405a5d
mov eax, dword [ebp - 0x60]
cmp eax, 0x10
jb 0x4063fb
mov eax, dword [ebp - 0x74]
jmp 0x4063fe
lea eax, [ebp - 0x74]
add ebx, eax
movsx edx, byte [ebp - 0x80]
mov eax, dword [ebp - 0x14]
push eax
push edx
push ebx
call sub.MSVCR70.dll_memchr
mov edx, eax
add esp, 0xc
test edx, edx
je 0x405b49
mov esi, edx
lea edi, [ebp - 0x80]
mov ecx, 1
xor eax, eax
test ecx, ecx
je 0x40643d
mov al, byte [esi]
sub al, byte [edi]
jne 0x40643d
add esi, 1
add edi, 1
sub ecx, 1
jne 0x40642c
seta al
setb cl
sub al, cl
movsx eax, al
test eax, eax
je 0x406476
neg ebx
add ebx, edx
mov ecx, dword [ebp - 0x14]
sub ecx, ebx
dec ecx
lea ebx, [edx + 1]
mov dword [ebp - 0x14], ecx
movsx eax, byte [ebp - 0x80]
push ecx
push eax
push ebx
call sub.MSVCR70.dll_memchr
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x40641c
jmp 0x405b49
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x406483
mov ebx, dword [ebp - 0x74]
jmp 0x406486
lea ebx, [ebp - 0x74]
neg ebx
add ebx, edx
jmp 0x405b4e
mov eax, dword [ebp - 0x60]
cmp eax, 0x10
jb 0x40649c
mov eax, dword [ebp - 0x74]
jmp 0x40649f
lea eax, [ebp - 0x74]
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x405ba7
mov eax, dword [ebp - 0x144]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x4064c4
mov eax, dword [ebp - 0x144]
mov eax, dword [eax + 4]
jmp 0x4064cd
mov eax, dword [ebp - 0x144]
add eax, 4
push dword [ebp - 0x13c]
push dword [ebp - 0x140]
push eax
call fcn.004fd7e4
add esp, 0xc
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x13c]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x144]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x40650a
mov eax, dword [ebp - 0x144]
mov eax, dword [eax + 4]
jmp 0x406513
mov eax, dword [ebp - 0x144]
add eax, 4
mov edx, dword [ebp - 0x13c]
mov byte [eax + edx], 0
jmp 0x405b19
cmp ecx, 0x10
jae 0x40653b
mov dword [ebp - 0x60], 0xf
xor eax, eax
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x74], al
jmp 0x405b0c
jb 0x406542
mov eax, dword [ebp - 0x74]
jmp 0x406545
lea eax, [ebp - 0x74]
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x406527
cmp ecx, 0x10
jb 0x406558
mov esi, dword [ebp - 0x74]
jmp 0x40655b
lea esi, [ebp - 0x74]
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x134], edx
sub edi, esi
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x130], ecx
cmp edx, edi
mov dword [ebp - 0x12c], edi
jae 0x40658d
lea ecx, [ebp - 0x78]
call fcn.004fd62a
mov edx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x12c]
sub edx, edi
cmp ebx, edx
lea ecx, [ebp - 0x78]
jb 0x406598
mov ebx, edx
lea edx, [ebp - 0x78]
cmp edx, ecx
mov dword [ebp - 0x5c], ebx
je 0x406664
mov dword [ebp - 0x120], ebx
cmp ebx, 0xfffffffe
jbe 0x4065bf
lea ecx, [ebp - 0x78]
call fcn.004fd6a2
mov ebx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x60]
cmp edx, ebx
jae 0x40660f
lea edx, [ebp - 0x78]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x110], ebx
mov edx, ebx
or edx, 0xf
mov dword [ebp - 0x10c], 0
cmp edx, 0xfffffffe
mov dword [ebp - 0x58], edx
jbe 0x4065f1
mov edx, ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 4], 0
inc edx
push edx
call fcn.004fd56e
pop ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x406194
cmp ebx, 0x10
jb 0x406638
test ebx, ebx
jne 0x406245
mov dword [ebp - 0x64], 0
cmp edx, 0x10
jb 0x40662d
mov eax, dword [ebp - 0x74]
jmp 0x406630
lea eax, [ebp - 0x74]
mov byte [eax], 0
jmp 0x406245
cmp edx, 0x10
jae 0x406651
mov dword [ebp - 0x60], 0xf
xor eax, eax
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x74], al
jmp 0x406245
jb 0x406658
mov eax, dword [ebp - 0x74]
jmp 0x40665b
lea eax, [ebp - 0x74]
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x40663d
lea esi, [ebp - 0x78]
add edi, ebx
mov eax, 0xffffffff
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], edi
mov dword [ebp - 0xfc], 0xffffffff
mov ecx, dword [esi + 0x14]
cmp ecx, edi
jae 0x4066a7
mov ecx, esi
call fcn.004fd62a
mov esi, dword [ebp - 0x104]
mov ecx, dword [esi + 0x14]
mov edi, dword [ebp - 0x100]
mov eax, dword [ebp - 0xfc]
sub ecx, edi
cmp ecx, eax
jb 0x4066af
mov ecx, eax
test ecx, ecx
mov dword [ebp - 0xfc], ecx
jbe 0x405ef6
mov eax, dword [esi + 0x18]
cmp eax, 0x10
jb 0x4066ca
mov edx, dword [esi + 4]
jmp 0x4066cd
lea edx, [esi + 4]
jb 0x4066d4
mov ebx, dword [esi + 4]
jmp 0x4066d7
lea ebx, [esi + 4]
add edx, edi
lea eax, [edi + ecx]
add eax, ebx
mov ebx, dword [esi + 0x14]
sub ebx, edi
sub ebx, ecx
push ebx
push eax
push edx
call sub.MSVCR70.dll_memmove
add esp, 0xc
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0x14]
sub edx, dword [ebp - 0xfc]
cmp edx, 0xfffffffe
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], edx
jbe 0x406721
call fcn.004fd6a2
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xf4]
cmp edx, dword [ecx + 0x18]
jbe 0x40676b
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], eax
mov eax, edx
or eax, 0xf
cmp eax, 0xfffffffe
mov dword [ebp - 0x48], eax
jbe 0x40674d
mov eax, edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 4], 4
inc eax
push eax
call fcn.004fd56e
pop ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x405e38
test edx, edx
jne 0x405ee9
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 0xf4]
mov eax, dword [edx + 0x18]
cmp eax, 0x10
jb 0x40678d
mov edx, dword [edx + 4]
jmp 0x406790
add edx, 4
mov byte [edx], 0
jmp 0x405ee9
xor edx, edx
jmp 0x4059e6