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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x501e0e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2a0
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.file_write
test edx, edx
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x2ac], 0x5beb80
je 0x43de72
mov ebx, ecx
sub ebx, edx
sar ebx, 3
test edx, edx
je 0x43de6b
mov eax, dword [0x5beb8c]
sub eax, edx
sar eax, 3
cmp ebx, eax
jb 0x43ddf2
mov dword [ebp - 0x2a4], 0x5beb80
lea eax, [ebp - 0x120]
test edx, edx
mov dword [ebp - 0x2a0], eax
je 0x43ddeb
mov eax, ecx
sub eax, edx
sar eax, 3
test eax, eax
jne 0x43dddf
xor edx, edx
mov dword [ebp - 0x11c], edx
mov edx, 0x5beb80
lea eax, [ebp - 0x128]
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x28c], 1
mov ebx, dword [ebp - 0x128]
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x118], ebx
mov esi, dword [ebp - 0x124]
mov dword [ebp - 0x114], esi
mov ebx, dword [0x5beb84]
test ebx, ebx
je 0x43ddd8
mov eax, dword [0x5beb8c]
sub eax, ebx
sar eax, 3
mov dword [ebp - 0x110], eax
mov esi, dword [0x5beb84]
test esi, esi
je 0x43ddd1
mov ebx, dword [0x5beb88]
sub ebx, esi
sar ebx, 3
neg ebx
add ebx, 0x1fffffff
cmp ebx, 1
jb 0x43db3a
test esi, esi
je 0x43db33
mov ebx, dword [0x5beb88]
sub ebx, esi
sar ebx, 3
inc ebx
cmp eax, ebx
jb 0x43da3e
mov eax, dword [0x5beb88]
mov ebx, eax
sub ebx, ecx
sar ebx, 3
cmp ebx, 1
jae 0x43d9cf
lea ebx, [ecx + 8]
mov byte [ebp - 0xf4], 0
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x260], edx
mov dword [ebp - 0xf0], ebx
cmp ecx, eax
je 0x43caec
test ebx, ebx
je 0x43cad6
mov eax, dword [ecx]
mov dword [ebx], eax
mov edx, dword [ecx + 4]
mov dword [ebx + 4], edx
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x268]
mov ebx, dword [ebp - 0x264]
add ebx, 8
mov dword [ebp - 0x264], ebx
add ecx, 8
mov dword [ebp - 0x26c], ecx
cmp ecx, eax
jne 0x43cab6
mov edi, dword [ebp - 0x294]
mov edx, dword [edi + 8]
mov esi, dword [ebp - 0x294]
sub edx, dword [ebp - 0x290]
sar edx, 3
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 8]
mov edi, dword [ebp - 0x28c]
sub edi, edx
movzx ecx, byte [ebp - 0xec]
lea ebx, [ebp - 0x118]
test edi, edi
mov byte [ebp - 0xe8], cl
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x248], esi
mov dword [ebp - 0xe4], eax
jbe 0x43cb86
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x24c]
test ecx, ecx
je 0x43cb64
mov eax, dword [edx]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x250]
add edx, 0xffffffff
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x254]
add eax, 8
mov dword [ebp - 0x254], eax
test edx, edx
ja 0x43cb4a
mov eax, dword [ebp - 0x294]
mov edx, dword [ebp - 0x28c]
add edx, edx
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x294]
add edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov ebx, dword [ebp - 0x294]
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x290]
mov esi, dword [ebp - 0x28c]
add esi, esi
add esi, esi
add esi, esi
sub ebx, esi
cmp ecx, ebx
je 0x43cbdd
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 0x43cbc5
mov eax, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x11c]
add edx, edx
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x2a0]
add edx, dword [eax + 4]
mov dword [ecx], edx
mov dword [ebp - 4], 0x17
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xd0]
mov ecx, dword [ebp + 8]
add edx, dword [ebp + 0x18]
mov dword [ecx + 0xd0], edx
mov ebx, dword [ebp + 8]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebx + 0x60]
call fcn.0040b0c0
mov ebx, dword [ebp + 8]
add ebx, 0x34
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
add ecx, eax
cdq
adc edx, dword [ebp + 0x10]
push edx
push ecx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0042a458
add esp, 0x28
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0xc]
cdq
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x18c], eax
add ebx, eax
mov dword [ebp - 0x188], edx
adc ecx, edx
sub ecx, 0
jb 0x43cc73
or ebx, ecx
jne 0x43cc83
xor eax, eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], eax
jmp 0x43ccb7
mov eax, dword [ebp + 0x10]
sub eax, 0
jge 0x43ccb7
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
xor eax, eax
mov ebx, eax
sub ebx, edx
mov esi, eax
sbb esi, ecx
mov edi, dword [ebp + 0xc]
mov edx, eax
sub dword [ebp - 0x18c], ebx
sbb dword [ebp - 0x188], esi
sub edx, edi
add dword [ebp + 0x14], edx
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], eax
mov eax, dword [0x50d208]
mov ecx, dword [ebp + 0xc]
cdq
mov ebx, dword [ebp + 0x10]
sub ecx, eax
sbb ebx, edx
jl 0x43ccd9
xor eax, eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], eax
jmp 0x43cd15
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
add ebx, dword [ebp - 0x18c]
adc ecx, dword [ebp - 0x188]
mov eax, dword [0x50d208]
cdq
sub ebx, eax
sbb ecx, edx
jb 0x43cd15
or ebx, ecx
je 0x43cd15
mov eax, dword [0x50d208]
mov ecx, dword [ebp + 0xc]
cdq
sub eax, ecx
sbb edx, dword [ebp + 0x10]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x18c]
or eax, dword [ebp - 0x188]
jne 0x43cd7e
call fcn.004f2a4c
mov edx, dword [ebp + 8]
cmp dword [0x5beb84], 0
mov dword [edx + 0x2c], eax
je 0x43cd7a
mov eax, dword [0x5beb88]
sub eax, dword [0x5beb84]
sar eax, 3
test eax, eax
jne 0x43cd62
xor eax, eax
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 0x43cd49
xor eax, eax
jmp 0x43cd45
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
add ecx, dword [ebp - 0x18c]
adc edx, dword [ebp - 0x188]
sub ecx, dword [eax + 0xf0]
sbb edx, 0
jb 0x43cda2
or ecx, edx
jne 0x43cdcb
mov ecx, dword [ebp + 8]
add ecx, 0xdc
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x18c]
push dword [ebp - 0x18c]
push dword [ebp + 0x14]
push eax
push dword [ebp + 0xc]
call fcn.004c2fac
jmp 0x43cd23
mov esi, dword [ebp + 8]
lea edi, [esi + 0xdc]
mov ebx, dword [ebp + 0xc]
add ebx, dword [ebp - 0x18c]
cmp ebx, dword [esi + 0xf0]
jbe 0x43d068
mov dword [ebp - 0x184], edi
mov eax, dword [esi + 0xf0]
sub ebx, eax
mov dword [ebp - 0x180], ebx
mov byte [ebp - 0x17c], 0
mov edx, dword [esi + 0xf0]
neg edx
dec edx
cmp edx, ebx
ja 0x43ce18
mov ecx, edi
call fcn.004fd6a2
cmp dword [ebp - 0x180], 0
jbe 0x43cda2
mov ebx, dword [ebp - 0x180]
add ebx, dword [esi + 0xf0]
mov dword [ebp - 0x44], ebx
cmp ebx, 0xfffffffe
mov dword [ebp - 0x170], ebx
jbe 0x43ce42
mov ecx, edi
call fcn.004fd6a2
cmp ebx, dword [esi + 0xf4]
jbe 0x43cf45
mov eax, dword [esi + 0xf0]
mov edx, ebx
or edx, 0xf
mov dword [ebp - 0x164], edi
cmp edx, 0xfffffffe
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x40], edx
jbe 0x43ce76
mov dword [ebp - 0x40], ebx
mov dword [ebp - 4], 0x18
mov eax, dword [ebp - 0x40]
inc eax
push eax
call fcn.004fd56e
pop ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0x15c], 0
ja 0x43cfd6
mov eax, dword [ebp - 0x164]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jae 0x43d00f
mov eax, dword [ebp - 0x164]
mov dword [eax + 0x18], 0xf
mov edx, dword [ebp - 0x164]
mov dword [edx + 0x14], 0
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x43cee4
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 4]
jmp 0x43ceed
mov eax, dword [ebp - 0x164]
add eax, 4
mov byte [eax], 0
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x3c]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x40]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0x164]
mov esi, dword [ebp - 0x15c]
mov dword [edi + 0x14], esi
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 0x18]
cmp eax, 0x10
jb 0x43cf30
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 4]
jmp 0x43cf39
mov eax, dword [ebp - 0x164]
add eax, 4
mov edx, dword [ebp - 0x15c]
mov byte [eax + edx], 0
jmp 0x43cf4d
test ebx, ebx
je 0x43d03d
cmp dword [ebp - 0x170], 0
jbe 0x43cda2
mov eax, dword [ebp - 0x184]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x43cf73
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax + 4]
jmp 0x43cf7c
mov ecx, dword [ebp - 0x184]
add ecx, 4
mov eax, dword [ebp - 0x184]
movsx edx, byte [ebp - 0x17c]
add ecx, dword [eax + 0x14]
push dword [ebp - 0x180]
push edx
push ecx
call fcn.004fd974
add esp, 0xc
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x44]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x184]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x43cfc1
mov eax, dword [ebp - 0x184]
mov eax, dword [eax + 4]
jmp 0x43cfca
mov eax, dword [ebp - 0x184]
add eax, 4
mov edx, dword [ebp - 0x44]
mov byte [eax + edx], 0
jmp 0x43cda2
mov eax, dword [ebp - 0x164]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x43cfef
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 4]
jmp 0x43cff8
mov eax, dword [ebp - 0x164]
add eax, 4
push dword [ebp - 0x15c]
push eax
push dword [ebp - 0x3c]
call fcn.004fd7e4
add esp, 0xc
jmp 0x43ce9f
mov eax, dword [ebp - 0x164]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x43d028
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 4]
jmp 0x43d031
mov eax, dword [ebp - 0x164]
add eax, 4
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x43ceb1
mov dword [esi + 0xf0], 0
mov eax, dword [esi + 0xf4]
cmp eax, 0x10
jb 0x43d05a
mov esi, dword [esi + 0xe0]
jmp 0x43d060
add esi, 0xe0
mov byte [esi], 0
jmp 0x43cf4d
mov dword [ebp - 0x154], edi
mov eax, dword [0x5c3d20]
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x14c], eax
cmp ebx, dword [edi + 0x14]
jbe 0x43d08f
mov ecx, dword [ebp - 0x154]
call fcn.004fd62a
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x14c]
sub ecx, dword [ebp - 0x150]
cmp ecx, edx
jb 0x43d0aa
mov ecx, edx
test ecx, ecx
mov dword [ebp - 0x14c], ecx
jbe 0x43cda2
mov eax, dword [ebp - 0x154]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x43d0cb
mov eax, dword [eax + 4]
jmp 0x43d0ce
add eax, 4
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0x18]
cmp edx, 0x10
jb 0x43d0e1
mov ecx, dword [ecx + 4]
jmp 0x43d0e4
add ecx, 4
add eax, dword [ebp - 0x150]
mov ebx, dword [ebp - 0x150]
add ebx, dword [ebp - 0x14c]
add ebx, ecx
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0x14]
sub edx, dword [ebp - 0x150]
sub edx, dword [ebp - 0x14c]
push edx
push ebx
push eax
call sub.MSVCR70.dll_memmove
add esp, 0xc
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x154]
sub ecx, dword [ebp - 0x14c]
cmp ecx, 0xfffffffe
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x140], ecx
jbe 0x43d14c
mov ecx, dword [ebp - 0x144]
call fcn.004fd6a2
mov eax, dword [ebp - 0x144]
mov edx, dword [eax + 0x18]
cmp edx, dword [ebp - 0x34]
jae 0x43d265
mov eax, dword [ebp - 0x144]
mov ebx, dword [eax + 0x14]
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x134], edx
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x130], ecx
or esi, 0xf
cmp esi, 0xfffffffe
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x30], esi
jbe 0x43d196
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 0x1c
mov eax, dword [ebp - 0x30]
inc eax
push eax
call fcn.004fd56e
pop ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0x12c], 0
ja 0x43d2a4
mov eax, dword [ebp - 0x134]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jae 0x43d2dd
mov eax, dword [ebp - 0x134]
mov dword [eax + 0x18], 0xf
mov edx, dword [ebp - 0x134]
mov dword [edx + 0x14], 0
mov ecx, dword [ebp - 0x134]
mov ebx, dword [ecx + 0x18]
cmp ebx, 0x10
jb 0x43d204
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
jmp 0x43d20d
mov eax, dword [ebp - 0x134]
add eax, 4
mov byte [eax], 0
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x2c]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x30]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0x134]
mov esi, dword [ebp - 0x12c]
mov dword [edi + 0x14], esi
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 0x18]
cmp eax, 0x10
jb 0x43d250
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
jmp 0x43d259
mov eax, dword [ebp - 0x134]
add eax, 4
mov edx, dword [ebp - 0x12c]
mov byte [eax + edx], 0
jmp 0x43d26f
cmp dword [ebp - 0x34], 0
je 0x43d30b
cmp dword [ebp - 0x140], 0
jbe 0x43cda2
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x34]
mov edx, dword [ecx + 0x18]
mov dword [ecx + 0x14], eax
cmp edx, 0x10
jb 0x43d295
mov ecx, dword [ecx + 4]
jmp 0x43d298
add ecx, 4
mov eax, dword [ebp - 0x34]
mov byte [ecx + eax], 0
jmp 0x43cda2
mov eax, dword [ebp - 0x134]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x43d2bd
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
jmp 0x43d2c6
mov eax, dword [ebp - 0x134]
add eax, 4
push dword [ebp - 0x12c]
push eax
push dword [ebp - 0x2c]
call fcn.004fd7e4
add esp, 0xc
jmp 0x43d1bf
mov eax, dword [ebp - 0x134]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x43d2f6
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
jmp 0x43d2ff
mov eax, dword [ebp - 0x134]
add eax, 4
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x43d1d1
mov eax, dword [ebp - 0x144]
mov dword [eax + 0x14], 0
mov edx, dword [ebp - 0x144]
mov ecx, dword [edx + 0x18]
cmp ecx, 0x10
jb 0x43d331
mov eax, dword [ebp - 0x144]
mov eax, dword [eax + 4]
jmp 0x43d33a
mov eax, dword [ebp - 0x144]
add eax, 4
mov byte [eax], 0
jmp 0x43d26f
mov eax, dword [ebp - 0x1ac]
add eax, eax
add eax, eax
add eax, eax
mov edx, dword [ebp - 0x2ac]
add eax, dword [ebp - 0x1b0]
mov dword [edx + 8], eax
jmp 0x43cbfa
cmp dword [ebp - 0x1bc], 0
ja 0x43d572
push 1
mov ecx, dword [ebp - 0x1c4]
call fcn.0041b054
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x7c]
mov dword [edx + 4], eax
mov esi, dword [ebp - 0x1c4]
mov ebx, dword [ebp - 0x80]
mov dword [esi + 0x18], ebx
mov ecx, dword [ebp - 0x1c4]
mov edi, dword [ebp - 0x1bc]
mov dword [ecx + 0x14], edi
mov ecx, dword [ebp - 0x1c4]
call fcn.0041b090
mov edx, dword [ebp - 0x1bc]
mov byte [eax + edx], 0
cmp dword [ebp - 0x1d0], 0
ja 0x43d4de
mov dword [ebp - 4], 0x14
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0x78]
push eax
call fcn.0041a6f4
lea eax, [ebp - 0x78]
push 0x50d118
push eax
call sub.MSVCR70.dll__CxxThrowException
mov dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0xa0]
call fcn.0041b054
jmp 0x43cbdd
mov eax, dword [ebp - 0x1e4]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x43d4f7
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [eax + 4]
jmp 0x43d500
mov ecx, dword [ebp - 0x1e4]
add ecx, 4
mov eax, dword [ebp - 0x1e0]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x43d519
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax + 4]
jmp 0x43d522
mov eax, dword [ebp - 0x1e0]
add eax, 4
add eax, dword [ebp - 0x1dc]
push dword [ebp - 0x84]
push eax
push ecx
call fcn.004fd7e4
add esp, 0xc
mov ebx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x1e4]
mov dword [eax + 0x14], ebx
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [edx + 0x18]
cmp ecx, 0x10
jb 0x43d560
mov eax, dword [ebp - 0x1e4]
mov eax, dword [eax + 4]
jmp 0x43d569
mov eax, dword [ebp - 0x1e4]
add eax, 4
mov byte [eax + ebx], 0
jmp 0x43d4a1
mov ecx, dword [ebp - 0x1c4]
call fcn.0041b090
push dword [ebp - 0x1bc]
push eax
push dword [ebp - 0x7c]
call fcn.004fd7e4
add esp, 0xc
jmp 0x43d44f
mov eax, dword [ebp - 0x294]
cmp dword [eax + 4], 0
je 0x43d67b
mov edx, dword [eax + 8]
sub edx, dword [eax + 4]
sar edx, 3
add dword [ebp - 0x28c], edx
mov eax, dword [ebp - 0x294]
cmp dword [eax + 4], 0
je 0x43d631
movzx eax, byte [ebp - 0xa8]
mov edx, dword [ebp - 0x294]
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 - 0x294]
add eax, dword [ebp - 0xd8]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x28c]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov ebx, dword [ebp - 0x294]
add ecx, dword [ebp - 0xd8]
mov dword [ebx + 8], ecx
mov edi, dword [ebp - 0x294]
mov esi, dword [ebp - 0xd8]
mov dword [edi + 4], esi
jmp 0x43cbdd
xor edx, edx
jmp 0x43d603
mov dword [ebp - 4], 0xffffffff
jmp 0x43d5ea
mov ebx, dword [ebp - 0x21c]
add ebx, ebx
add ebx, ebx
add ebx, ebx
add ebx, dword [ebp - 0x220]
mov dword [ebp - 0xd4], ebx
mov esi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x294]
mov edi, dword [edx + 8]
mov ecx, dword [ebp - 0x294]
movzx eax, byte [ebp - 0xbc]
mov byte [ebp - 0xb8], al
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x1f8], edi
mov dword [ebp - 0x1f4], ebx
mov dword [ebp - 0x1f0], ecx
mov dword [ebp - 0xb4], ebx
cmp esi, edi
je 0x43d6ab
mov edx, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x1f4]
test ecx, ecx
je 0x43d75d
mov eax, dword [edx]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x1f4]
add eax, 8
mov dword [ebp - 0x1f4], eax
mov edx, dword [ebp - 0x1fc]
add edx, 8
mov dword [ebp - 0x1fc], edx
cmp edx, dword [ebp - 0x1f8]
jne 0x43d743
jmp 0x43d6ab
mov ebx, dword [ebp - 0x234]
mov dword [ebp - 0xd4], ebx
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x220], ebx
mov esi, dword [ebp - 0x28c]
mov dword [ebp - 0x21c], esi
movzx eax, byte [ebp - 0xc8]
mov byte [ebp - 0xc4], al
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x210], esi
lea edx, [ebp - 0x118]
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x208], ecx
mov dword [ebp - 0xc0], ebx
test esi, esi
jbe 0x43d6e3
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x20c]
test ecx, ecx
je 0x43d831
mov eax, dword [edx]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x210]
add edx, 0xffffffff
mov dword [ebp - 0x210], edx
mov eax, dword [ebp - 0x214]
add eax, 8
mov dword [ebp - 0x214], eax
test edx, edx
ja 0x43d817
jmp 0x43d6e3
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x294]
mov dword [edx + 8], eax
mov edx, dword [ebp - 0x290]
mov esi, dword [ebp - 0x28c]
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 0x43d94c
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 0x43d938
mov dword [ebp - 0xf8], esi
mov ecx, dword [ebp - 0x290]
mov ebx, dword [ebp - 0x28c]
add ebx, ebx
add ebx, ebx
add ebx, ebx
add ebx, dword [ebp - 0x290]
cmp ecx, ebx
je 0x43cbdd
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 0x43d972
jmp 0x43cbdd
mov dword [ebp - 0x10c], eax
lea ebx, [eax - 8]
mov ecx, dword [0x5beb88]
mov byte [ebp - 0x108], 0
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x104], ecx
test ecx, ecx
je 0x43da23
mov eax, dword [ebx]
mov dword [ecx], eax
mov edx, dword [ebx + 4]
mov dword [ecx + 4], edx
mov ebx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x27c]
add ecx, 8
mov dword [ebp - 0x27c], ecx
add ebx, 8
mov dword [ebp - 0x284], ebx
cmp ebx, eax
jne 0x43da03
jmp 0x43d8f8
mov ecx, eax
shr ecx, 1
mov edx, ecx
neg edx
add edx, 0x1fffffff
cmp edx, eax
jae 0x43da54
xor eax, eax
jmp 0x43da56
add eax, ecx
mov dword [ebp - 0x110], eax
mov edx, dword [0x5beb84]
test edx, edx
je 0x43db2c
mov ecx, dword [0x5beb88]
sub ecx, edx
sar ecx, 3
inc ecx
cmp eax, ecx
jb 0x43db0e
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 - 0x294]
mov ecx, dword [edx + 4]
mov ebx, dword [ebp - 0x290]
mov byte [ebp - 0xd0], 0
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
mov dword [ebp - 0xcc], eax
cmp ecx, ebx
je 0x43d7b4
test eax, eax
je 0x43daf3
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x23c]
mov ebx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x234]
add eax, 8
mov dword [ebp - 0x234], eax
add ecx, 8
mov dword [ebp - 0x23c], ecx
cmp ecx, ebx
jne 0x43dad3
jmp 0x43d7b4
test edx, edx
je 0x43db28
mov eax, dword [0x5beb88]
sub eax, edx
sar eax, 3
inc eax
mov dword [ebp - 0x110], eax
jmp 0x43da7e
xor eax, eax
jmp 0x43db1c
xor ecx, ecx
jmp 0x43da75
xor ebx, ebx
jmp 0x43ca6c
push 0
lea ecx, [ebp - 0xa0]
call fcn.0041b054
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x43db5a
mov eax, dword [ebp - 0x9c]
jmp 0x43db60
lea eax, [ebp - 0x9c]
mov edx, str.vector_T__too_long
cmp eax, edx
jbe 0x43db6d
xor eax, eax
jmp 0x43db98
cmp ecx, 0x10
jb 0x43db7a
mov edx, dword [ebp - 0x9c]
jmp 0x43db80
lea edx, [ebp - 0x9c]
add edx, dword [ebp - 0x8c]
mov eax, str.vector_T__too_long
cmp eax, edx
jae 0x43ddca
mov eax, 1
test eax, eax
jne 0x43dc22
push 1
lea ecx, [ebp - 0xa0]
push 0x12
call fcn.0041b0a4
movzx eax, al
test eax, eax
je 0x43d4a1
mov eax, dword [ebp - 0x88]
cmp eax, 0x10
jb 0x43dbcd
mov eax, dword [ebp - 0x9c]
jmp 0x43dbd3
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 0x43dc13
mov eax, dword [ebp - 0x9c]
jmp 0x43dc19
lea eax, [ebp - 0x9c]
mov byte [eax + 0x12], 0
jmp 0x43d4a1
cmp ecx, 0x10
jb 0x43dc2f
mov ecx, dword [ebp - 0x9c]
jmp 0x43dc35
lea ecx, [ebp - 0x9c]
lea eax, [ebp - 0xa0]
lea edx, [ebp - 0xa0]
mov esi, str.vector_T__too_long
mov dword [ebp - 0x1e4], eax
sub esi, ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1e0], edx
cmp eax, esi
mov dword [ebp - 0x1dc], esi
jae 0x43dc7b
lea ecx, [ebp - 0xa0]
call fcn.004fd62a
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x1dc]
sub eax, esi
mov edx, 0x12
cmp eax, 0x12
jbe 0x43dc89
mov eax, edx
lea ecx, [ebp - 0xa0]
lea ebx, [ebp - 0xa0]
mov dword [ebp - 0x84], eax
cmp ecx, ebx
je 0x43dda2
mov dword [ebp - 0x1d0], eax
cmp eax, 0xfffffffe
jbe 0x43dcbf
lea ecx, [ebp - 0xa0]
call fcn.004fd6a2
mov eax, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x88]
cmp edx, eax
jae 0x43dd35
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], 0
or eax, 0xf
mov dword [ebp - 0x80], eax
call fcn.004c34f8
cmp eax, 1
ja 0x43dd02
mov eax, 1
jmp 0x43dd03
dec eax
mov edx, dword [ebp - 0x80]
cmp eax, edx
jae 0x43dd13
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x80], edx
mov dword [ebp - 4], 0x10
inc edx
push 0
push edx
call fcn.00414318
add esp, 8
mov dword [ebp - 0x7c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x43d442
cmp eax, 0x10
jb 0x43dd67
test eax, eax
jne 0x43d498
mov dword [ebp - 0x8c], 0
cmp edx, 0x10
jb 0x43dd59
mov eax, dword [ebp - 0x9c]
jmp 0x43dd5f
lea eax, [ebp - 0x9c]
mov byte [eax], 0
jmp 0x43d498
cmp edx, 0x10
jae 0x43dd89
mov dword [ebp - 0x88], 0xf
xor eax, eax
mov dword [ebp - 0x8c], eax
mov byte [ebp - 0x9c], al
jmp 0x43d498
jb 0x43dd93
mov eax, dword [ebp - 0x9c]
jmp 0x43dd99
lea eax, [ebp - 0x9c]
push eax
call sub.MSVCR70.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x43dd6c
add esi, eax
lea ecx, [ebp - 0xa0]
push 0xffffffffffffffff
push esi
call fcn.0041b364
push dword [ebp - 0x1dc]
lea ecx, [ebp - 0xa0]
push 0
call fcn.0041b364
jmp 0x43d4a1
xor eax, eax
jmp 0x43db98
xor ebx, ebx
jmp 0x43ca48
xor eax, eax
jmp 0x43ca29
neg edx
add edx, ecx
sar edx, 3
jmp 0x43c9cc
xor eax, eax
jmp 0x43c9c2
mov dword [ebp - 0x1b0], ecx
mov eax, 1
mov edx, 1
mov dword [ebp - 0x1ac], eax
lea ebx, [ebp - 0x128]
mov byte [ebp - 0x50], 0
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ebx
mov dword [ebp - 0x198], 0x5beb80
mov dword [ebp - 0x4c], ecx
test ecx, ecx
je 0x43de4b
mov eax, dword [ebx]
mov dword [ecx], eax
mov edx, dword [ebx + 4]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1a0]
add ecx, 8
add edx, 0xffffffff
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x1a4], ecx
je 0x43d400
mov ebx, dword [ebp - 0x19c]
jmp 0x43de31
xor eax, eax
jmp 0x43c995
xor ebx, ebx
jmp 0x43c983