Function at 0x446169
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x501f56
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x298
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ebx
mov edx, dword [0x5beb84]
mov ecx, dword [0x5beb88]
mov dword [ebp - 0x128], str.autosave
test edx, edx
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x2a4], 0x5beb80
je 0x446ae6
mov ebx, ecx
sub ebx, edx
sar ebx, 3
test edx, edx
je 0x446adf
mov eax, dword [0x5beb8c]
sub eax, edx
sar eax, 3
cmp ebx, eax
jb 0x446a66
mov dword [ebp - 0x29c], 0x5beb80
lea eax, [ebp - 0x120]
test edx, edx
mov dword [ebp - 0x298], eax
je 0x446a5f
mov eax, ecx
sub eax, edx
sar eax, 3
test eax, eax
jne 0x446a53
xor edx, edx
mov dword [ebp - 0x11c], edx
mov edx, 0x5beb80
lea eax, [ebp - 0x128]
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x28c], edx
mov dword [ebp - 0x284], 1
mov ebx, dword [ebp - 0x128]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x118], ebx
mov esi, dword [ebp - 0x124]
mov dword [ebp - 0x114], esi
mov ebx, dword [0x5beb84]
test ebx, ebx
je 0x446a4c
mov eax, dword [0x5beb8c]
sub eax, ebx
sar eax, 3
mov dword [ebp - 0x110], eax
mov esi, dword [0x5beb84]
test esi, esi
je 0x446a45
mov ebx, dword [0x5beb88]
sub ebx, esi
sar ebx, 3
neg ebx
add ebx, 0x1fffffff
cmp ebx, 1
jb 0x4466bf
test esi, esi
je 0x4466b8
mov ebx, dword [0x5beb88]
sub ebx, esi
sar ebx, 3
inc ebx
cmp eax, ebx
jb 0x4465c3
mov eax, dword [0x5beb88]
mov ebx, eax
sub ebx, ecx
sar ebx, 3
cmp ebx, 1
jae 0x446554
lea ebx, [ecx + 8]
mov byte [ebp - 0xf4], 0
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x258], edx
mov dword [ebp - 0xf0], ebx
cmp ecx, eax
je 0x4458e4
test ebx, ebx
je 0x4458ce
mov eax, dword [ecx]
mov dword [ebx], eax
mov edx, dword [ecx + 4]
mov dword [ebx + 4], edx
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x260]
mov ebx, dword [ebp - 0x25c]
add ebx, 8
mov dword [ebp - 0x25c], ebx
add ecx, 8
mov dword [ebp - 0x264], ecx
cmp ecx, eax
jne 0x4458ae
mov edi, dword [ebp - 0x28c]
mov edx, dword [edi + 8]
mov esi, dword [ebp - 0x28c]
sub edx, dword [ebp - 0x288]
sar edx, 3
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 8]
mov edi, dword [ebp - 0x284]
sub edi, edx
movzx ecx, byte [ebp - 0xec]
lea ebx, [ebp - 0x118]
test edi, edi
mov byte [ebp - 0xe8], cl
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x240], esi
mov dword [ebp - 0xe4], eax
jbe 0x44597e
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x244]
test ecx, ecx
je 0x44595c
mov eax, dword [edx]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x248]
add edx, 0xffffffff
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x24c]
add eax, 8
mov dword [ebp - 0x24c], eax
test edx, edx
ja 0x445942
mov eax, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x284]
add edx, edx
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x28c]
add edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov ebx, dword [ebp - 0x28c]
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x288]
mov esi, dword [ebp - 0x284]
add esi, esi
add esi, esi
add esi, esi
sub ebx, esi
cmp ecx, ebx
je 0x4459d5
mov eax, dword [ebp - 0x118]
mov dword [ecx], eax
mov edx, dword [ebp - 0x114]
mov dword [ecx + 4], edx
add ecx, 8
cmp ecx, ebx
jne 0x4459bd
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x11c]
add edx, edx
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x298]
add edx, dword [eax + 4]
mov dword [ecx], edx
mov dword [ebp - 4], 0x1f
cmp dword [0x5bec90], 0
je 0x445a2d
call fcn.004f2a4c
mov edx, dword [0x5bec94]
sub eax, edx
cmp eax, dword [0x5bec90]
jbe 0x445a2d
push dword [0x50d188]
call fcn.0041d5d4
pop ecx
call fcn.004f2a4c
mov dword [0x5bec94], eax
cmp dword [0x5beb84], 0
je 0x445a77
mov eax, dword [0x5beb88]
sub eax, dword [0x5beb84]
sar eax, 3
test eax, eax
jne 0x445a5f
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebp - 0x24]
mov edx, dword [0x5beb88]
add edx, 0xfffffff8
mov byte [ebp - 0x20], al
mov dword [0x5beb88], edx
jmp 0x445a48
xor eax, eax
jmp 0x445a44
cmp dword [ebp - 0x154], 0
ja 0x445b5e
push 1
mov ecx, dword [ebp - 0x15c]
call fcn.0041b054
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x5c]
mov dword [edx + 4], eax
mov esi, dword [ebp - 0x15c]
mov ebx, dword [ebp - 0x60]
mov dword [esi + 0x18], ebx
mov ecx, dword [ebp - 0x15c]
mov edi, dword [ebp - 0x154]
mov dword [ecx + 0x14], edi
mov ecx, dword [ebp - 0x15c]
call fcn.0041b090
mov edx, dword [ebp - 0x154]
mov byte [eax + edx], 0
cmp dword [ebp - 0x168], 0
ja 0x445b39
mov dword [ebp - 4], 0x1c
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0x58]
push eax
call fcn.0041a6f4
lea eax, [ebp - 0x58]
push 0x50d118
push eax
call sub.MSVCR70.dll__CxxThrowException
mov dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0xa0]
call fcn.0041b054
jmp 0x4459d5
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x64]
mov edx, dword [ecx + 0x18]
mov dword [ecx + 0x14], eax
cmp edx, 0x10
jb 0x445b52
mov ecx, dword [ecx + 4]
jmp 0x445b55
add ecx, 4
mov eax, dword [ebp - 0x64]
mov byte [ecx + eax], 0
jmp 0x445afc
mov ecx, dword [ebp - 0x15c]
call fcn.0041b090
push dword [ebp - 0x154]
push eax
push dword [ebp - 0x5c]
call fcn.004fd7e4
add esp, 0xc
jmp 0x445aaa
cmp dword [ebp - 0x184], 0
ja 0x445e98
mov eax, dword [ebp - 0x18c]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jae 0x445e6a
mov eax, dword [ebp - 0x18c]
mov dword [eax + 0x18], 0xf
mov edx, dword [ebp - 0x18c]
mov dword [edx + 0x14], 0
mov ecx, dword [ebp - 0x18c]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x445c33
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax + 4]
jmp 0x445c3c
mov eax, dword [ebp - 0x18c]
add eax, 4
mov byte [eax], 0
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x6c]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x70]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x184]
mov dword [edi + 0x14], esi
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax + 0x18]
cmp eax, 0x10
jb 0x445c7f
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax + 4]
jmp 0x445c88
mov eax, dword [ebp - 0x18c]
add eax, 4
mov edx, dword [ebp - 0x184]
mov byte [eax + edx], 0
cmp dword [ebp - 0x198], 0
ja 0x445e42
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], eax
cmp dword [edx + 0x14], 0
jae 0x445cd2
mov ecx, dword [ebp - 0x17c]
call fcn.004fd62a
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x174]
sub ecx, dword [ebp - 0x178]
cmp ecx, edx
jb 0x445ced
mov ecx, edx
test ecx, ecx
mov dword [ebp - 0x174], ecx
jbe 0x445afc
mov eax, dword [ebp - 0x17c]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x445d0e
mov eax, dword [eax + 4]
jmp 0x445d11
add eax, 4
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ecx + 0x18]
cmp edx, 0x10
jb 0x445d24
mov ecx, dword [ecx + 4]
jmp 0x445d27
add ecx, 4
add eax, dword [ebp - 0x178]
mov ebx, dword [ebp - 0x178]
add ebx, dword [ebp - 0x174]
add ebx, ecx
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ecx + 0x14]
sub edx, dword [ebp - 0x178]
sub edx, dword [ebp - 0x174]
push edx
push ebx
push eax
call sub.MSVCR70.dll_memmove
add esp, 0xc
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x17c]
sub ecx, dword [ebp - 0x174]
cmp ecx, 0xfffffffe
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], ecx
jbe 0x445d8f
mov ecx, dword [ebp - 0x16c]
call fcn.004fd6a2
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + 0x18]
cmp edx, dword [ebp - 0x64]
jae 0x445e01
mov eax, dword [ebp - 0x16c]
mov esi, dword [eax + 0x14]
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x15c], edx
mov ebx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x158], ebx
or edi, 0xf
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x60], edi
call fcn.0041b35c
cmp eax, dword [ebp - 0x60]
jae 0x445de0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], 0x18
mov eax, dword [ebp - 0x60]
inc eax
push eax
call fcn.004fd56e
pop ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x445a9d
cmp dword [ebp - 0x64], 0
jne 0x445af3
mov eax, dword [ebp - 0x16c]
mov dword [eax + 0x14], 0
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + 0x18]
cmp ecx, 0x10
jb 0x445e31
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax + 4]
jmp 0x445e3a
mov eax, dword [ebp - 0x16c]
add eax, 4
mov byte [eax], 0
jmp 0x445af3
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x74]
mov edx, dword [ecx + 0x18]
mov dword [ecx + 0x14], eax
cmp edx, 0x10
jb 0x445e5b
mov ecx, dword [ecx + 4]
jmp 0x445e5e
add ecx, 4
mov eax, dword [ebp - 0x74]
mov byte [ecx + eax], 0
jmp 0x445c9f
mov eax, dword [ebp - 0x18c]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x445e83
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax + 4]
jmp 0x445e8c
mov eax, dword [ebp - 0x18c]
add eax, 4
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x445c00
mov eax, dword [ebp - 0x18c]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x445eb1
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax + 4]
jmp 0x445eba
mov eax, dword [ebp - 0x18c]
add eax, 4
push dword [ebp - 0x184]
push eax
push dword [ebp - 0x6c]
call fcn.004fd7e4
add esp, 0xc
jmp 0x445bee
cmp dword [ebp - 0x1b4], 0
ja 0x4460c8
mov eax, dword [ebp - 0x1bc]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jae 0x44609a
mov eax, dword [ebp - 0x1bc]
mov dword [eax + 0x18], 0xf
mov edx, dword [ebp - 0x1bc]
mov dword [edx + 0x14], 0
mov ecx, dword [ebp - 0x1bc]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x445f9a
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 4]
jmp 0x445fa3
mov eax, dword [ebp - 0x1bc]
add eax, 4
mov byte [eax], 0
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x7c]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x80]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x1b4]
mov dword [edi + 0x14], esi
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 0x18]
cmp eax, 0x10
jb 0x445fe6
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 4]
jmp 0x445fef
mov eax, dword [ebp - 0x1bc]
add eax, 4
mov edx, dword [ebp - 0x1b4]
mov byte [eax + edx], 0
cmp dword [ebp - 0x1c8], 0
jbe 0x445afc
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x44601f
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax + 4]
jmp 0x446028
mov ecx, dword [ebp - 0x1dc]
add ecx, 4
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x446041
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 4]
jmp 0x44604a
mov eax, dword [ebp - 0x1d8]
add eax, 4
add eax, dword [ebp - 0x1d4]
push dword [ebp - 0x84]
push eax
push ecx
call fcn.004fd7e4
add esp, 0xc
mov ebx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x1dc]
mov dword [eax + 0x14], ebx
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [edx + 0x18]
cmp ecx, 0x10
jb 0x446088
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + 4]
jmp 0x446091
mov eax, dword [ebp - 0x1dc]
add eax, 4
mov byte [eax + ebx], 0
jmp 0x445afc
mov eax, dword [ebp - 0x1bc]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x4460b3
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 4]
jmp 0x4460bc
mov eax, dword [ebp - 0x1bc]
add eax, 4
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x445f67
mov eax, dword [ebp - 0x1bc]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x4460e1
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 4]
jmp 0x4460ea
mov eax, dword [ebp - 0x1bc]
add eax, 4
push dword [ebp - 0x1b4]
push eax
push dword [ebp - 0x7c]
call fcn.004fd7e4
add esp, 0xc
jmp 0x445f55
mov eax, dword [ebp - 0x28c]
cmp dword [eax + 4], 0
je 0x4461fa
mov edx, dword [eax + 8]
sub edx, dword [eax + 4]
sar edx, 3
add dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x28c]
cmp dword [eax + 4], 0
je 0x4461b0
movzx eax, byte [ebp - 0xa8]
mov edx, dword [ebp - 0x28c]
mov byte [ebp - 0xa4], al
push dword [edx + 4]
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
mov eax, dword [ebp - 0x110]
add eax, eax
add eax, eax
add eax, eax
mov edx, dword [ebp - 0x28c]
add eax, dword [ebp - 0xd8]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x284]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov ebx, dword [ebp - 0x28c]
add ecx, dword [ebp - 0xd8]
mov dword [ebx + 8], ecx
mov edi, dword [ebp - 0x28c]
mov esi, dword [ebp - 0xd8]
mov dword [edi + 4], esi
jmp 0x4459d5
xor edx, edx
jmp 0x446182
mov dword [ebp - 4], 0xffffffff
jmp 0x446169
mov ebx, dword [ebp - 0x214]
add ebx, ebx
add ebx, ebx
add ebx, ebx
add ebx, dword [ebp - 0x218]
mov dword [ebp - 0xd4], ebx
mov esi, dword [ebp - 0x288]
mov edx, dword [ebp - 0x28c]
mov edi, dword [edx + 8]
mov ecx, dword [ebp - 0x28c]
movzx eax, byte [ebp - 0xbc]
mov byte [ebp - 0xb8], al
mov dword [ebp - 0x1f4], esi
mov dword [ebp - 0x1f0], edi
mov dword [ebp - 0x1ec], ebx
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0xb4], ebx
cmp esi, edi
je 0x44622a
mov edx, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1ec]
test ecx, ecx
je 0x4462dc
mov eax, dword [edx]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x1ec]
add eax, 8
mov dword [ebp - 0x1ec], eax
mov edx, dword [ebp - 0x1f4]
add edx, 8
mov dword [ebp - 0x1f4], edx
cmp edx, dword [ebp - 0x1f0]
jne 0x4462c2
jmp 0x44622a
mov ebx, dword [ebp - 0x22c]
mov dword [ebp - 0xd4], ebx
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x218], ebx
mov esi, dword [ebp - 0x284]
mov dword [ebp - 0x214], esi
movzx eax, byte [ebp - 0xc8]
mov byte [ebp - 0xc4], al
mov dword [ebp - 0x20c], ebx
mov dword [ebp - 0x208], esi
lea edx, [ebp - 0x118]
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0xc0], ebx
test esi, esi
jbe 0x446262
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x204]
test ecx, ecx
je 0x4463b0
mov eax, dword [edx]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x208]
add edx, 0xffffffff
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x20c]
add eax, 8
mov dword [ebp - 0x20c], eax
test edx, edx
ja 0x446396
jmp 0x446262
mov eax, dword [ebp - 0x274]
mov edx, dword [ebp - 0x28c]
mov dword [edx + 8], eax
mov edx, dword [ebp - 0x288]
mov esi, dword [ebp - 0x284]
add esi, esi
add esi, esi
add esi, esi
mov eax, dword [ebp - 0x10c]
sub eax, esi
movzx ecx, byte [ebp - 0x100]
mov byte [ebp - 0xfc], cl
mov esi, dword [ebp - 0x10c]
cmp edx, eax
je 0x4464cb
add eax, 0xfffffff8
add esi, 0xfffffff8
mov ecx, dword [eax]
mov dword [esi], ecx
mov ebx, dword [eax + 4]
cmp edx, eax
mov dword [esi + 4], ebx
jne 0x4464b7
mov dword [ebp - 0xf8], esi
mov ecx, dword [ebp - 0x288]
mov ebx, dword [ebp - 0x284]
add ebx, ebx
add ebx, ebx
add ebx, ebx
add ebx, dword [ebp - 0x288]
cmp ecx, ebx
je 0x4459d5
mov eax, dword [ebp - 0x118]
mov dword [ecx], eax
mov edx, dword [ebp - 0x114]
mov dword [ecx + 4], edx
add ecx, 8
cmp ecx, ebx
jne 0x4464f1
jmp 0x4459d5
mov eax, dword [ebp - 0x144]
add eax, eax
add eax, eax
add eax, eax
mov edx, dword [ebp - 0x2a4]
add eax, dword [ebp - 0x148]
mov dword [edx + 8], eax
jmp 0x4459f2
mov dword [ebp - 0x10c], eax
lea ebx, [eax - 8]
mov ecx, dword [0x5beb88]
mov byte [ebp - 0x108], 0
mov dword [ebp - 0x27c], ebx
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x104], ecx
test ecx, ecx
je 0x4465a8
mov eax, dword [ebx]
mov dword [ecx], eax
mov edx, dword [ebx + 4]
mov dword [ecx + 4], edx
mov ebx, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x274]
add ecx, 8
mov dword [ebp - 0x274], ecx
add ebx, 8
mov dword [ebp - 0x27c], ebx
cmp ebx, eax
jne 0x446588
jmp 0x446477
mov ecx, eax
shr ecx, 1
mov edx, ecx
neg edx
add edx, 0x1fffffff
cmp edx, eax
jae 0x4465d9
xor eax, eax
jmp 0x4465db
add eax, ecx
mov dword [ebp - 0x110], eax
mov edx, dword [0x5beb84]
test edx, edx
je 0x4466b1
mov ecx, dword [0x5beb88]
sub ecx, edx
sar ecx, 3
inc ecx
cmp eax, ecx
jb 0x446693
add eax, eax
add eax, eax
add eax, eax
push eax
call fcn.004fd56e
pop ecx
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0x28c]
mov ecx, dword [edx + 4]
mov ebx, dword [ebp - 0x288]
mov byte [ebp - 0xd0], 0
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], edx
mov dword [ebp - 0xcc], eax
cmp ecx, ebx
je 0x446333
test eax, eax
je 0x446678
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x234]
mov ebx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x22c]
add eax, 8
mov dword [ebp - 0x22c], eax
add ecx, 8
mov dword [ebp - 0x234], ecx
cmp ecx, ebx
jne 0x446658
jmp 0x446333
test edx, edx
je 0x4466ad
mov eax, dword [0x5beb88]
sub eax, edx
sar eax, 3
inc eax
mov dword [ebp - 0x110], eax
jmp 0x446603
xor eax, eax
jmp 0x4466a1
xor ecx, ecx
jmp 0x4465fa
xor ebx, ebx
jmp 0x445864
push 0
lea ecx, [ebp - 0xa0]
call fcn.0041b054
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x4466df
mov eax, dword [ebp - 0x9c]
jmp 0x4466e5
lea eax, [ebp - 0x9c]
mov edx, str.vector_T__too_long
cmp eax, edx
jbe 0x4466f2
xor eax, eax
jmp 0x44671d
cmp ecx, 0x10
jb 0x4466ff
mov edx, dword [ebp - 0x9c]
jmp 0x446705
lea edx, [ebp - 0x9c]
add edx, dword [ebp - 0x8c]
mov eax, str.vector_T__too_long
cmp eax, edx
jae 0x446a3e
mov eax, 1
test eax, eax
jne 0x4467a7
push 1
lea ecx, [ebp - 0xa0]
push 0x12
call fcn.0041b0a4
movzx eax, al
test eax, eax
je 0x445afc
mov eax, dword [ebp - 0x88]
cmp eax, 0x10
jb 0x446752
mov eax, dword [ebp - 0x9c]
jmp 0x446758
lea eax, [ebp - 0x9c]
mov edi, str.vector_T__too_long
mov edx, dword [edi]
mov ecx, dword [edi + 4]
mov dword [eax], edx
mov ebx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [eax + 4], ecx
movzx edx, word [edi + 0x10]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], esi
mov word [eax + 0x10], dx
mov dword [ebp - 0x8c], 0x12
mov eax, dword [ebp - 0x88]
cmp eax, 0x10
jb 0x446798
mov eax, dword [ebp - 0x9c]
jmp 0x44679e
lea eax, [ebp - 0x9c]
mov byte [eax + 0x12], 0
jmp 0x445afc
cmp ecx, 0x10
jb 0x4467b4
mov ecx, dword [ebp - 0x9c]
jmp 0x4467ba
lea ecx, [ebp - 0x9c]
lea eax, [ebp - 0xa0]
lea edx, [ebp - 0xa0]
mov esi, str.vector_T__too_long
mov dword [ebp - 0x1dc], eax
sub esi, ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1d8], edx
cmp eax, esi
mov dword [ebp - 0x1d4], esi
jae 0x446800
lea ecx, [ebp - 0xa0]
call fcn.004fd62a
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x1d4]
sub eax, esi
mov edx, 0x12
cmp eax, 0x12
jbe 0x44680e
mov eax, edx
lea ecx, [ebp - 0xa0]
lea ebx, [ebp - 0xa0]
mov dword [ebp - 0x84], eax
cmp ecx, ebx
je 0x446907
mov dword [ebp - 0x1c8], eax
cmp eax, 0xfffffffe
jbe 0x446844
lea ecx, [ebp - 0xa0]
call fcn.004fd6a2
mov eax, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x88]
cmp edx, eax
jae 0x44689a
lea edx, [ebp - 0xa0]
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x1b8], eax
mov edx, eax
or edx, 0xf
mov dword [ebp - 0x1b4], 0
cmp edx, 0xfffffffe
mov dword [ebp - 0x80], edx
jbe 0x44687c
mov edx, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 4], 0x10
inc edx
push edx
call fcn.004fd56e
pop ecx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x445f48
cmp eax, 0x10
jb 0x4468cc
test eax, eax
jne 0x445ff9
mov dword [ebp - 0x8c], 0
cmp edx, 0x10
jb 0x4468be
mov eax, dword [ebp - 0x9c]
jmp 0x4468c4
lea eax, [ebp - 0x9c]
mov byte [eax], 0
jmp 0x445ff9
cmp edx, 0x10
jae 0x4468ee
mov dword [ebp - 0x88], 0xf
xor eax, eax
mov dword [ebp - 0x8c], eax
mov byte [ebp - 0x9c], al
jmp 0x445ff9
jb 0x4468f8
mov eax, dword [ebp - 0x9c]
jmp 0x4468fe
lea eax, [ebp - 0x9c]
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x4468d1
lea ebx, [ebp - 0xa0]
add esi, eax
mov eax, 0xffffffff
mov dword [ebp - 0x1ac], ebx
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1a4], 0xffffffff
mov ecx, dword [ebx + 0x14]
cmp ecx, esi
jae 0x44694d
mov ecx, ebx
call fcn.004fd62a
mov ebx, dword [ebp - 0x1ac]
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1a4]
sub ecx, esi
cmp ecx, eax
jb 0x446955
mov ecx, eax
test ecx, ecx
mov dword [ebp - 0x1a4], ecx
jbe 0x445c9f
mov eax, dword [ebx + 0x18]
cmp eax, 0x10
jb 0x446970
mov edx, dword [ebx + 4]
jmp 0x446973
lea edx, [ebx + 4]
jb 0x44697a
mov edi, dword [ebx + 4]
jmp 0x44697d
lea edi, [ebx + 4]
add edx, esi
lea eax, [esi + ecx]
add eax, edi
mov ebx, dword [ebx + 0x14]
sub ebx, esi
sub ebx, ecx
push ebx
push eax
push edx
call sub.MSVCR70.dll_memmove
add esp, 0xc
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ecx + 0x14]
sub edx, dword [ebp - 0x1a4]
cmp edx, 0xfffffffe
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x198], edx
jbe 0x4469c7
call fcn.004fd6a2
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x19c]
cmp edx, dword [ecx + 0x18]
jbe 0x446a11
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x188], edx
mov dword [ebp - 0x184], eax
mov eax, edx
or eax, 0xf
cmp eax, 0xfffffffe
mov dword [ebp - 0x70], eax
jbe 0x4469f3
mov eax, edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 4], 0x14
inc eax
push eax
call fcn.004fd56e
pop ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x445be1
test edx, edx
jne 0x445c92
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 0x18]
cmp eax, 0x10
jb 0x446a33
mov edx, dword [edx + 4]
jmp 0x446a36
add edx, 4
mov byte [edx], 0
jmp 0x445c92
xor eax, eax
jmp 0x44671d
xor ebx, ebx
jmp 0x445840
xor eax, eax
jmp 0x445821
neg edx
add edx, ecx
sar edx, 3
jmp 0x4457c4
xor eax, eax
jmp 0x4457ba
mov dword [ebp - 0x148], ecx
mov eax, 1
mov edx, 1
mov dword [ebp - 0x144], eax
lea ebx, [ebp - 0x128]
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], 0x5beb80
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x446abf
mov eax, dword [ebx]
mov dword [ecx], eax
mov edx, dword [ebx + 4]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x138]
add ecx, 8
add edx, 0xffffffff
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x13c], ecx
je 0x446534
mov ebx, dword [ebp - 0x134]
jmp 0x446aa5
xor eax, eax
jmp 0x44578d
xor ebx, ebx
jmp 0x44577b