Function at 0x436740
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x78
push ebx
or eax, 0xffffffff
push ebp
push esi
push edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 0x24]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x10], ecx
jbe 0x43563d
mov edx, dword [ecx + 0x18]
mov esi, dword [ecx + 0x1c]
sub edx, 1
sbb esi, edi
xor ebx, ebx
mov dword [esp + 0x30], edx
sub edx, eax
mov dword [esp + 0x34], esi
sbb esi, ebx
add edx, 1
adc esi, edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
mov esi, dword [ecx + 8]
cmp esi, dword [ecx + 0xc]
lea ebp, [ecx + 4]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov edi, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
jbe 0x435658
call edi
mov dword [esp + 0x24], esi
mov esi, dword [ebp + 8]
cmp dword [ebp + 4], esi
mov dword [esp + 0x20], ebp
jbe 0x43566a
call edi
mov dword [esp + 0x2c], esi
mov esi, dword [ebp + 8]
cmp dword [ebp + 4], esi
mov dword [esp + 0x28], ebp
jbe 0x43567c
call edi
mov edi, esi
mov esi, dword [ebp + 4]
cmp esi, dword [ebp + 8]
mov ebx, ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
jbe 0x435696
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [ebp + 8]
cmp dword [ebp + 4], eax
mov dword [esp + 0x14], eax
jbe 0x4356a8
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, ebp
test eax, eax
je 0x4356b2
cmp eax, ebp
je 0x4356b8
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [esp + 0x14]
je 0x435871
mov eax, ebp
test eax, eax
jne 0x4356ce
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, ebp
cmp esi, dword [eax + 8]
jb 0x4356db
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x20], 1
jne 0x43575a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x24], 0
mov ebx, ebp
jbe 0x43586f
cmp esi, dword [ebx + 8]
jb 0x4356fc
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [esi + 0x14]
cmp ecx, dword [esp + 0x1c]
jl 0x43572c
jg 0x435710
mov edx, dword [esi + 0x10]
cmp edx, dword [esp + 0x18]
jb 0x43572c
mov eax, dword [esi + 0xc]
cmp eax, dword [esp + 0x34]
jl 0x43586f
jg 0x43572c
mov ecx, dword [esi + 8]
cmp ecx, dword [esp + 0x30]
jbe 0x43586f
mov ebx, dword [ebp + 8]
cmp dword [ebp + 4], ebx
jbe 0x43573a
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x48]
test eax, eax
je 0x435746
cmp eax, ebp
je 0x43574c
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp edi, ebx
jne 0x43575a
mov eax, ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], esi
mov eax, ebp
cmp esi, dword [eax + 8]
jb 0x435767
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x20], 3
jne 0x435773
xor ebx, ebx
xor edi, edi
jmp 0x43577f
mov ebx, dword [esi + 0x10]
sub ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x14]
sbb edi, dword [esi + 0x1c]
cmp dword [esp + 0x20], 0
jne 0x43578c
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
cmp edx, dword [eax + 8]
jb 0x4357a3
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x24]
cmp dword [edx + 0x20], 3
jne 0x4357af
xor ecx, ecx
xor eax, eax
jmp 0x4357bb
mov ecx, dword [edx + 0x10]
sub ecx, dword [edx + 0x18]
mov eax, dword [edx + 0x14]
sbb eax, dword [edx + 0x1c]
cmp edi, eax
jl 0x4357cf
jg 0x4357c5
cmp ebx, ecx
jbe 0x4357cf
mov eax, ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x24], 0
jbe 0x435852
mov edi, ebp
cmp esi, dword [edi + 8]
jb 0x4357e6
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esi + 0x14]
cmp edx, dword [esp + 0x1c]
jl 0x435852
jg 0x4357fa
mov eax, dword [esi + 0x10]
cmp eax, dword [esp + 0x18]
jb 0x435852
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esp + 0x34]
jg 0x435852
jl 0x43580e
mov edx, dword [esi + 8]
cmp edx, dword [esp + 0x30]
ja 0x435852
cmp esi, dword [edi + 8]
jb 0x435819
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00432d80
cmp edx, dword [esp + 0x3c]
jl 0x435852
jg 0x435842
cmp eax, dword [esp + 0x38]
jbe 0x435852
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, ebp
cmp esi, dword [eax + 8]
jb 0x43585f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
add esi, 0x38
jmp 0x435696
mov edi, esi
mov esi, dword [ebp + 8]
cmp dword [ebp + 4], esi
jbe 0x43587f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
test ebx, ebx
je 0x435887
cmp ebx, ebp
je 0x43588d
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp edi, esi
je 0x43594c
test ebx, ebx
jne 0x43589f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp edi, dword [ebx + 8]
jb 0x4358aa
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov dword [edi + 0x20], 0
cmp edi, dword [ebx + 8]
jb 0x4358bc
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov byte [edi + 0x24], 1
cmp edi, dword [ebx + 8]
jb 0x4358cb
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
xor eax, eax
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
cmp edi, dword [ebx + 8]
jb 0x4358de
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov dword [edi + 0x30], 0xffffffff
cmp edi, dword [ebx + 8]
jb 0x4358f0
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [edi]
mov esi, dword [esp + 0x8c]
mov dword [esi], ecx
cmp edi, dword [ebx + 8]
jb 0x435906
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [edi + 8]
mov dword [esi + 8], edx
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
cmp edi, dword [ebx + 8]
jb 0x43591d
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x10], ecx
mov edx, dword [edi + 0x14]
mov dword [esi + 0x14], edx
cmp edi, dword [ebx + 8]
jb 0x435934
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [edi + 0x18]
mov dword [esi + 0x18], eax
mov ecx, dword [edi + 0x1c]
pop edi
mov dword [esi + 0x1c], ecx
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x78
ret 4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x24]
test eax, eax
jbe 0x435b45
mov esi, dword [esp + 0x3c]
test esi, esi
jl 0x435b3e
mov edx, dword [esp + 0x38]
jg 0x435975
test edx, edx
jbe 0x435b3e
test esi, esi
jl 0x435b45
jg 0x43598b
cmp edx, 0x10000
jb 0x435b45
xor ecx, ecx
cmp edx, eax
jne 0x435aee
cmp esi, ecx
jne 0x435aee
cmp dword [esp + 0x28], ecx
jne 0x4359a9
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
cmp edx, dword [eax + 8]
jb 0x4359bc
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
add ecx, 1
adc eax, 0
cmp eax, dword [esp + 0x1c]
jg 0x435aee
jl 0x4359e2
cmp ecx, dword [esp + 0x18]
jae 0x435aee
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
add dword [eax], 1
mov edi, dword [esp + 0x1c]
mov ebx, dword [eax]
xor ecx, ecx
mov dword [esp + 0x58], esi
sub esi, 1
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x5c], edi
sbb edi, ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0x74], 1
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x50], ebx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
call fcn.00433160
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
push 0
lea eax, [esp + 0x3c]
mov dword [esp + 0x4c], ecx
push eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x54], edx
call fcn.00432f50
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebp
call fcn.00433130
push eax
lea ecx, [esp + 0x4c]
call fcn.00430330
test al, al
je 0x435a84
lea ecx, [esp + 0x48]
call fcn.00433160
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
jmp 0x435a8e
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x18]
mov edi, dword [eax + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x50]
push edx
push eax
sub esi, 1
push ecx
lea edx, [esp + 0x54]
sbb edi, 0
push edx
mov ecx, ebp
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], esi
call fcn.00434840
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x14], edi
pop edi
mov dword [eax + 0x10], esi
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x68]
pop esi
mov dword [eax], ebx
pop ebp
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov al, 1
pop ebx
add esp, 0x78
ret 4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push eax
push 0
push 2
push ecx
push edx
call fcn.00445950
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0xa0]
push eax
mov eax, dword [esp + 0x44]
push eax
push ecx
mov ecx, dword [esp + 0x30]
push edx
call fcn.00435320
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x78
ret 4
mov dword [ecx + 0x24], 0
cmp dword [esp + 0x20], 0
jne 0x435b52
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp eax, dword [ecx + 8]
jb 0x435b65
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x24]
cmp dword [edx + 0x20], 3
jne 0x435b75
xor eax, eax
xor ecx, ecx
jmp 0x435b81
mov eax, dword [edx + 0x10]
sub eax, dword [edx + 0x18]
mov ecx, dword [edx + 0x14]
sbb ecx, dword [edx + 0x1c]
xor ebx, ebx
push ebx
push 2
push ecx
push eax
call fcn.00445950
mov edi, dword [esp + 0x10]
mov esi, dword [edi + 0x30]
xor ecx, ecx
cmp edx, ecx
jg 0x435d37
jl 0x435ba8
cmp eax, esi
jae 0x435d37
cmp dword [edi + 0x2c], ebx
jne 0x435d2b
mov ecx, dword [edi + 0x3c]
call fcn.00419dc0
test al, al
je 0x435d2b
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
xor esi, esi
mov edi, 3
mov eax, dword [ebp + 4]
test eax, eax
mov dword [esp + 0x10], esi
je 0x435c4b
mov ecx, dword [ebp + 8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x435c4b
mov eax, dword [ebp + 4]
test eax, eax
je 0x435c24
mov ecx, dword [ebp + 8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x435c26
call ebx
mov eax, dword [ebp + 4]
lea edx, [esi*8]
sub edx, esi
cmp dword [eax + edx*8 + 0x20], edi
je 0x435c46
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00434900
add esi, 1
jmp 0x435bda
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x435d2b
mov esi, dword [esp + 0x40]
sub esi, eax
sar esi, 2
test esi, esi
jle 0x435d22
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
div esi
mov ecx, dword [esp + 0x3c]
test ecx, ecx
mov esi, edx
je 0x435c89
mov eax, dword [esp + 0x40]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x435c8b
call ebx
mov edx, dword [esp + 0x3c]
lea edi, [edx + esi*4]
mov esi, dword [ebp + 4]
cmp esi, dword [ebp + 8]
jbe 0x435c9c
call ebx
mov eax, dword [edi]
lea ecx, [eax*8]
sub ecx, eax
mov dword [esp + 0x4c], esi
lea esi, [esi + ecx*8]
cmp esi, dword [ebp + 8]
ja 0x435cb8
cmp esi, dword [ebp + 4]
jae 0x435cba
call ebx
cmp esi, dword [ebp + 8]
jb 0x435cc1
call ebx
mov edx, dword [esi]
mov edi, dword [esp + 0x8c]
mov dword [edi], edx
cmp esi, dword [ebp + 8]
jb 0x435cd3
call ebx
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
mov dword [edi + 0xc], ecx
cmp esi, dword [ebp + 8]
jb 0x435ce6
call ebx
mov edx, dword [esi + 0x10]
mov dword [edi + 0x10], edx
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
cmp esi, dword [ebp + 8]
jb 0x435cf9
call ebx
mov ecx, dword [esi + 0x18]
mov eax, dword [esp + 0x3c]
test eax, eax
mov dword [edi + 0x18], ecx
mov edx, dword [esi + 0x1c]
mov dword [edi + 0x1c], edx
je 0x435d52
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x78
ret 4
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x78
ret 4
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
push edx
mov ecx, edi
call fcn.00435150
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x78
ret 4
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
xor esi, esi
push esi
push eax
push ecx
push edx
call fcn.004369f0
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x34]
push eax
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0x18]
push ecx
push edx
call fcn.00436a70
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
lea edi, [ebp + 4]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov esi, dword [edi + 4]
add esp, 0x1c
cmp esi, dword [edi + 8]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jbe 0x435dbc
call ebx
cmp esi, dword [edi + 8]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], esi
jb 0x435dcb
call ebx
mov eax, dword [esi + 0x14]
cmp eax, dword [esp + 0x20]
jl 0x435e1d
jg 0x435ddf
mov ecx, dword [esi + 0x10]
cmp ecx, dword [esp + 0x1c]
jb 0x435e1d
mov edx, dword [esi + 0xc]
cmp edx, dword [esp + 0x18]
jg 0x435e1d
jl 0x435df3
mov eax, dword [esi + 8]
cmp eax, dword [esp + 0x14]
ja 0x435e1d
cmp esi, dword [edi + 8]
jb 0x435dfa
call ebx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00432d80
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov esi, dword [edi + 4]
cmp esi, dword [edi + 8]
jbe 0x435e30
call ebx
jmp 0x435e30
mov eax, dword [edi + 8]
cmp dword [edi + 4], eax
mov dword [esp + 0x10], eax
jbe 0x435e44
call ebx
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
test edi, edi
je 0x435e4c
cmp edi, edi
je 0x435e54
call ebx
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [esp + 0x10]
je 0x435f98
test edi, edi
jne 0x435e6a
call ebx
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [edi + 8]
jb 0x435e77
call ebx
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esi + 0x14]
cmp edx, dword [esp + 0x20]
jl 0x435ef8
jg 0x435e8b
mov eax, dword [esi + 0x10]
cmp eax, dword [esp + 0x1c]
jb 0x435ef8
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esp + 0x18]
jg 0x435ef8
jl 0x435e9f
mov edx, dword [esi + 8]
cmp edx, dword [esp + 0x14]
ja 0x435ef8
cmp esi, dword [edi + 8]
jb 0x435eac
call ebx
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x20], 1
je 0x435f0d
cmp esi, dword [edi + 8]
jb 0x435eb9
call ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00432d80
cmp edx, dword [esp + 0x28]
jl 0x435ef2
jg 0x435ee2
cmp eax, dword [esp + 0x24]
jbe 0x435ef2
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [edi + 8]
jb 0x435f05
call ebx
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
add esi, 0x38
jmp 0x435e30
cmp esi, dword [edi + 8]
jb 0x435f14
call ebx
mov dword [esi + 0x20], 0
cmp esi, dword [edi + 8]
jb 0x435f22
call ebx
mov byte [esi + 0x24], 1
cmp esi, dword [edi + 8]
jb 0x435f2d
call ebx
xor eax, eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
cmp esi, dword [edi + 8]
jb 0x435f3c
call ebx
mov dword [esi + 0x30], 0xffffffff
cmp esi, dword [edi + 8]
jb 0x435f4a
call ebx
mov ecx, dword [esi]
mov ebp, dword [esp + 0x40]
mov dword [ebp], ecx
cmp esi, dword [edi + 8]
jb 0x435f5a
call ebx
mov edx, dword [esi + 8]
mov dword [ebp + 8], edx
mov eax, dword [esi + 0xc]
mov dword [ebp + 0xc], eax
cmp esi, dword [edi + 8]
jb 0x435f6d
call ebx
mov ecx, dword [esi + 0x10]
mov dword [ebp + 0x10], ecx
mov edx, dword [esi + 0x14]
mov dword [ebp + 0x14], edx
cmp esi, dword [edi + 8]
jb 0x435f80
call ebx
mov eax, dword [esi + 0x18]
mov dword [ebp + 0x18], eax
mov ecx, dword [esi + 0x1c]
pop edi
pop esi
mov dword [ebp + 0x1c], ecx
pop ebp
mov al, 1
pop ebx
add esp, 0x2c
ret 4
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push 0
push 2
push edx
push eax
call fcn.00445950
mov esi, dword [ebp + 0x30]
xor ecx, ecx
cmp edx, ecx
jg 0x4361aa
jl 0x435fc2
cmp eax, esi
jae 0x4361aa
cmp dword [ebp + 0x2c], 0
jne 0x43619e
mov ecx, dword [ebp + 0x3c]
call fcn.00419dc0
test al, al
je 0x43619e
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov eax, dword [edi + 4]
test eax, eax
mov dword [esp + 0x10], esi
je 0x4360bf
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x4360bf
mov eax, dword [edi + 4]
test eax, eax
je 0x43603c
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x43603e
call ebx
mov ecx, dword [edi + 4]
lea ebp, [esi*8]
sub ebp, esi
add ebp, ebp
add ebp, ebp
add ebp, ebp
cmp dword [ecx + ebp + 0x20], 3
je 0x4360b7
mov eax, ecx
test eax, eax
je 0x436079
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x43607b
call ebx
mov eax, dword [edi + 4]
mov edx, dword [eax + ebp + 0x14]
add eax, ebp
cmp edx, dword [esp + 0x20]
jl 0x4360b7
jg 0x436095
mov ecx, dword [eax + 0x10]
cmp ecx, dword [esp + 0x1c]
jb 0x4360b7
mov edx, dword [eax + 0xc]
cmp edx, dword [esp + 0x18]
jg 0x4360b7
jl 0x4360a9
mov eax, dword [eax + 8]
cmp eax, dword [esp + 0x14]
ja 0x4360b7
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x28]
call fcn.00434900
add esi, 1
jmp 0x435fea
mov eax, dword [esp + 0x28]
test eax, eax
je 0x43619e
mov esi, dword [esp + 0x2c]
sub esi, eax
sar esi, 2
test esi, esi
jle 0x436195
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
div esi
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov esi, edx
je 0x4360fd
mov eax, dword [esp + 0x2c]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x4360ff
call ebx
mov edx, dword [esp + 0x28]
lea ebp, [edx + esi*4]
mov esi, dword [edi + 4]
cmp esi, dword [edi + 8]
jbe 0x436110
call ebx
mov eax, dword [ebp]
lea ecx, [eax*8]
sub ecx, eax
mov dword [esp + 0x38], esi
lea esi, [esi + ecx*8]
cmp esi, dword [edi + 8]
ja 0x43612d
cmp esi, dword [edi + 4]
jae 0x43612f
call ebx
cmp esi, dword [edi + 8]
jb 0x436136
call ebx
mov edx, dword [esi]
mov ebp, dword [esp + 0x40]
mov dword [ebp], edx
cmp esi, dword [edi + 8]
jb 0x436146
call ebx
mov eax, dword [esi + 8]
mov dword [ebp + 8], eax
mov ecx, dword [esi + 0xc]
mov dword [ebp + 0xc], ecx
cmp esi, dword [edi + 8]
jb 0x436159
call ebx
mov edx, dword [esi + 0x10]
mov dword [ebp + 0x10], edx
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x14], eax
cmp esi, dword [edi + 8]
jb 0x43616c
call ebx
mov ecx, dword [esi + 0x18]
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [ebp + 0x18], ecx
mov edx, dword [esi + 0x1c]
mov dword [ebp + 0x1c], edx
je 0x4361d6
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x2c
ret 4
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x2c
ret 4
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.00435320
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x2c
ret 4
sub esp, 0x40
push ebx
mov ebx, dword [ecx + 0x1c]
push edi
mov edi, dword [ecx + 0x18]
mov eax, edi
or eax, ebx
jne 0x43675b
pop edi
xor al, al
pop ebx
add esp, 0x40
ret 4
mov edx, dword [ecx + 8]
push ebp
lea eax, [ecx + 4]
push esi
xor esi, esi
cmp edx, esi
mov dword [esp + 0x10], eax
je 0x436787
mov ebp, dword [eax + 8]
sub ebp, edx
mov eax, 0x92492493
imul ebp
add edx, ebp
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4367fb
add dword [ecx], 1
mov ecx, dword [ecx]
or ebp, 0xffffffff
sub edi, 1
lea edx, [esp + 0x18]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
sbb ebx, esi
push edx
mov byte [esp + 0x40], 1
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebx
call fcn.004361f0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
pop esi
mov dword [eax + 0x18], ebp
mov dword [eax + 0x1c], ebp
pop ebp
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], ebx
pop edi
mov dword [eax], ecx
mov al, 1
pop ebx
add esp, 0x40
ret 4
cmp dword [ecx + 0x34], esi
pop esi
pop ebp
pop edi
pop ebx
jl 0x43680c
add esp, 0x40
jmp 0x435d60
add esp, 0x40
jmp 0x4355f0