Function at 0x4655a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x49ceeb
mov eax, dword fs:[0]
push eax
sub esp, 0x3f0
push ebx
push esi
push edi
mov eax, dword [0x4c02a0]
xor eax, esp
push eax
lea eax, [esp + 0x400]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0xf4], eax
or eax, ecx
mov dword [esp + 0xf8], ecx
jne 0x4655ff
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], eax
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x465665
mov edi, dword [ebx + 0x13c]
mov eax, dword [ebx + 0x138]
mov dword [esp + 0x18c], eax
test edi, edi
ja 0x465621
test eax, eax
jbe 0x465665
mov eax, dword [ebp + 0x24]
cmp byte [eax + 0x21], 0
jne 0x465665
mov esi, dword [ebp + 8]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x10]
push 0
push 0
push 0
push 0
push esi
call edx
test eax, eax
jne 0x468358
mov ecx, dword [ebp + 0x1c]
push eax
mov eax, dword [esp + 0x190]
push edi
push eax
push ecx
mov ecx, esi
call fcn.00464370
add esp, 0x10
test eax, eax
jne 0x468358
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 4
mov dword [esp + 0x44], vtable.CRecordVector_int_.0
mov dword [esp + 0x408], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0xc
mov dword [esp + 0x1c], vtable.CRecordVector_struct_NArchive::N7z::CFolderRepack_.0
mov byte [esp + 0x408], 1
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov byte [esp + 0x37], al
cmp ebx, eax
je 0x46597e
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 0x6c]
lea esi, [esp + 0x44]
call fcn.00450350
mov eax, dword [ebp + 0xc]
xor ebx, ebx
cmp dword [eax + 0x6c], ebx
jle 0x46573d
nop
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x4c], ecx
jne 0x465721
cmp ecx, 0x40
mov eax, 1
jl 0x46570b
mov eax, ecx
shr eax, 2
jmp 0x465715
cmp ecx, 8
jl 0x465715
mov eax, 8
lea edi, [eax + ecx]
lea esi, [esp + 0x44]
call fcn.00450350
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov eax, dword [ebp + 0xc]
mov dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x4c]
inc ebx
cmp ebx, dword [eax + 0x6c]
jl 0x4656f0
mov edx, dword [ebp + 0x10]
xor eax, eax
cmp dword [edx + 8], eax
jle 0x465761
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + eax*4]
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x46575b
mov esi, dword [esp + 0x50]
mov dword [esi + ecx*4], eax
inc eax
cmp eax, dword [edx + 8]
jl 0x465747
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x44], 0
mov dword [esp + 0x68], 0
jle 0x46596f
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x5c]
mov eax, dword [esp + 0x68]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edx + 0x1a4]
mov eax, dword [edx + eax*4]
xor esi, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
cmp ecx, esi
jbe 0x46595a
mov ecx, dword [esp + 0x50]
lea edx, [ecx + eax*4]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0x70]
sub ebx, ecx
jmp 0x4657c0
mov ecx, dword [ebx + edx]
cmp byte [ecx + 0x1c], 0
je 0x4657f6
mov eax, dword [edx]
inc esi
test eax, eax
jl 0x4657f6
mov edi, dword [ebp + 0x10]
mov edi, dword [edi + 0xc]
mov eax, dword [edi + eax*4]
cmp byte [eax + 0x38], 0
jne 0x4657f6
mov eax, dword [ecx]
inc dword [esp + 0x38]
add dword [esp + 0x94], eax
mov ecx, dword [ecx + 4]
adc dword [esp + 0x98], ecx
add edx, 4
cmp esi, dword [esp + 0x10]
jb 0x4657c0
cmp dword [esp + 0x38], 0
je 0x46595a
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0x68]
mov ebx, dword [eax + ecx*4]
mov edi, dword [ebx + 8]
lea eax, [edi - 1]
test eax, eax
jl 0x465848
mov edx, dword [ebx + 0xc]
lea ecx, [edx + eax*4]
jmp 0x465830
mov edx, dword [ecx]
cmp dword [edx], 0x6f10701
jne 0x465840
cmp dword [edx + 4], 0
je 0x4658af
dec eax
sub ecx, 4
test eax, eax
jge 0x465830
mov byte [esp + 0x17], 0
xor esi, esi
test edi, edi
jle 0x46587d
mov edx, dword [ebx + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, 0x3030103
jne 0x465869
test eax, eax
je 0x4658b6
cmp ecx, 0x303011b
jne 0x465875
test eax, eax
je 0x4658b6
inc esi
add edx, 4
cmp esi, edi
jl 0x465856
xor al, al
xor ebx, ebx
test al, al
movzx eax, byte [esp + 0x17]
setne bl
neg eax
sbb eax, eax
and eax, 2
add ebx, eax
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x24], eax
jne 0x4658d0
cmp eax, 0x40
mov ecx, 1
jl 0x4658ba
mov ecx, eax
shr ecx, 2
jmp 0x4658c4
mov byte [esp + 0x17], 1
jmp 0x46584d
mov al, 1
jmp 0x46587f
cmp eax, 8
jl 0x4658c4
mov ecx, 8
lea edi, [ecx + eax]
lea esi, [esp + 0x1c]
call fcn.00450350
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x38]
mov dword [eax], edx
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
inc dword [esp + 0x24]
cmp ecx, dword [esp + 0x10]
jne 0x465910
mov eax, dword [ebp + 0xc]
call fcn.00457ae0
add dword [esp + 0x9c], eax
adc dword [esp + 0xa0], edx
jmp 0x46595a
mov ecx, dword [esp + 0x94]
add dword [esp + 0x9c], ecx
mov eax, dword [esp + 0x98]
adc dword [esp + 0xa0], eax
cmp eax, dword [esp + 0x100]
jb 0x46594e
ja 0x465940
cmp ecx, dword [esp + 0xfc]
jbe 0x46594e
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
cmp byte [esp + 0x17], 0
je 0x46595a
mov byte [esp + 0x37], 1
mov eax, dword [esp + 0x68]
mov ecx, dword [ebp + 0xc]
inc eax
cmp eax, dword [ecx + 0x44]
mov dword [esp + 0x68], eax
jl 0x465776
mov edx, dword [ebp + 0xc]
push edx
lea eax, [esp + 0x20]
call fcn.004684f0
xor eax, eax
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 8]
xor esi, esi
xor edx, edx
xor ebx, ebx
cmp ecx, eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], edx
mov dword [esp + 0x40], ecx
jle 0x465a14
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x38], ecx
jmp 0x4659b0
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx]
cmp byte [ecx + 0x38], 0
je 0x4659fa
mov eax, dword [ecx + 0x20]
add dword [esp + 0x9c], eax
mov ecx, dword [ecx + 0x24]
adc dword [esp + 0xa0], ecx
cmp dword [esp + 0xf4], 1
jne 0x4659e4
cmp dword [esp + 0xf8], 0
je 0x4659ea
add esi, eax
adc edx, ecx
jmp 0x4659f8
cmp ecx, edx
jb 0x4659f8
ja 0x4659f4
cmp eax, esi
jbe 0x4659f8
mov esi, eax
mov edx, ecx
xor eax, eax
add dword [esp + 0x38], 4
inc ebx
cmp ebx, dword [esp + 0x40]
jl 0x4659b0
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], esi
mov ecx, dword [esp + 0x100]
cmp ecx, edx
jb 0x465a41
ja 0x465a2a
cmp dword [esp + 0xfc], esi
jbe 0x465a41
mov esi, dword [esp + 0xfc]
mov edx, ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], edx
cmp edx, eax
ja 0x465a61
jb 0x465a4f
cmp esi, 0x10000
jae 0x465a61
mov dword [esp + 0x94], 0x10000
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa0]
mov edi, dword [ebp + 0x20]
mov ecx, dword [esp + 0x9c]
mov edx, dword [edi]
mov edx, dword [edx + 0xc]
push eax
push ecx
push edi
call edx
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x465b01
mov byte [esp + 0x408], bl
mov eax, dword [esp + 0x24]
push eax
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], edi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], edi
call dword [0x4ab4cc]
mov eax, dword [esp + 0x50]
push eax
call fcn.0047d358
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x38
call fcn.0047d26c
add esp, 4
cmp eax, ebx
je 0x465b40
mov dword [eax + 4], ebx
mov dword [eax], vtable.CLocalProgress.0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov ebx, eax
mov byte [eax + 0x31], 1
mov byte [eax + 0x30], 1
mov dword [esp + 0x3c], ebx
jmp 0x465b44
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xfc], ebx
test ebx, ebx
je 0x465b57
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push ebx
call edx
lea esi, [ebx + 0xc]
mov byte [esp + 0x408], 2
mov eax, dword [esi]
test eax, eax
je 0x465b76
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi], 0
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov eax, dword [ebx + 8]
test eax, eax
je 0x465b8d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, edi
push esi
mov dword [ebx + 8], edi
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x4abbb0
push eax
call edx
lea eax, [esp + 0x214]
push eax
mov byte [ebx + 0x10], 1
call fcn.00465370
xor edi, edi
mov byte [esp + 0x408], 3
cmp dword [esp + 0x24], edi
je 0x465c7f
lea esi, [esp + 0x214]
call fcn.00443760
mov esi, eax
cmp esi, edi
je 0x465c7f
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.00468370
mov byte [esp + 0x408], 1
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push ebx
call eax
mov byte [esp + 0x408], 0
mov ecx, dword [esp + 0x24]
push ecx
xor ebx, ebx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], edi
call dword [0x4ab4cc]
mov edx, dword [esp + 0x28]
push edx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov eax, dword [esp + 0x50]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], edi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0047d358
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, 4
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], edi
mov dword [esp + 0x128], esi
mov dword [esp + method.CObjectVector_struct_NArchive::N7z::CSolidGroup_.virtual_0], vtable.CObjectVector_struct_NArchive::N7z::CSolidGroup_.0
mov bl, 5
mov edi, esi
nop
xor eax, eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edi
mov dword [esp + 0xa4], vtable.CRecordVector_unsigned_int_.0
lea edx, [esp + 0xa4]
push edx
lea ecx, [esp + 0x11c]
mov byte [esp + 0x40c], bl
call fcn.00468600
mov byte [esp + 0x408], 4
mov eax, dword [esp + 0xac]
push eax
push 0
lea ecx, [esp + 0xac]
mov dword [esp + 0xac], vtable.CBaseRecordVector.0
call dword [0x4ab4cc]
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.0047d358
add esp, 4
sub esi, 1
jne 0x465cb0
mov eax, dword [ebp + 0x24]
mov dl, byte [eax + 8]
mov eax, dword [eax]
cmp dword [eax + 8], 1
mov byte [esp + 0x17], dl
mov dword [esp + 0x40], eax
jne 0x465d52
cmp dword [eax + 0x1c], esi
je 0x465d57
mov byte [esp + 0x17], 0
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
xor edi, edi
mov dword [esp + 0x18], edi
test eax, eax
jle 0x465e8c
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edi*4]
cmp byte [eax + 0x38], 0
je 0x465e7e
cmp byte [eax + 0x3b], 0
jne 0x465e7e
cmp byte [eax + 0x3a], 0
jne 0x465e7e
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
je 0x465e7e
xor bl, bl
cmp byte [esp + 0x17], bl
je 0x465e1a
lea edx, [eax + 0x28]
mov eax, dword [edx + 4]
test eax, eax
je 0x465e1a
mov ecx, dword [edx]
cmp word [ecx + eax*2 - 2], 0x2e
lea eax, [ecx + eax*2 - 2]
je 0x465dcd
jmp 0x465dc0
cmp eax, ecx
je 0x465e1a
sub eax, 2
cmp word [eax], 0x2e
jne 0x465dc0
sub eax, ecx
sar eax, 1
test eax, eax
jl 0x465e1a
inc eax
lea esi, [esp + 0x104]
call fcn.004475d0
mov edi, eax
xor esi, esi
mov eax, dword [esi + 0x4c1ea0]
push eax
mov eax, dword [edi]
push eax
call fcn.004502a0
add esp, 8
test eax, eax
je 0x465e55
add esi, 4
cmp esi, 0x14
jb 0x465de6
xor bl, bl
mov ecx, dword [esp + 0x104]
push ecx
call fcn.0047d358
mov edi, dword [esp + 0x1c]
add esp, 4
mov edx, dword [esp + 0x40]
movzx eax, byte [edx + 0x2c]
mov edx, dword [esp + 0x124]
neg eax
sbb eax, eax
and eax, 2
xor ecx, ecx
test bl, bl
setne cl
add eax, ecx
mov esi, dword [edx + eax*4]
mov eax, dword [esi + 4]
cmp dword [esi + 8], eax
jne 0x465e6f
cmp eax, 0x40
mov ecx, 1
jl 0x465e59
mov ecx, eax
shr ecx, 2
jmp 0x465e63
mov bl, 1
jmp 0x465e06
cmp eax, 8
jl 0x465e63
mov ecx, 8
lea edi, [eax + ecx]
call fcn.00450350
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ecx + eax*4], edi
inc dword [esi + 8]
mov ecx, dword [ebp + 0x10]
inc edi
cmp edi, dword [ecx + 8]
mov dword [esp + 0x18], edi
jl 0x465d6b
cmp byte [esp + 0x37], 0
mov dword [esp + 0x188], 0
je 0x46628d
push 0x14
call fcn.0047d26c
mov esi, eax
add esp, 4
mov dword [esp + 0x90], esi
mov byte [esp + 0x408], 6
test esi, esi
je 0x465f33
xor ebx, ebx
xor ecx, ecx
mov eax, 4
mov edx, 2
mul edx
seto cl
mov dword [esi + 4], ebx
mov dword [esi], vtable.NArchive::N7z::CCryptoGetTextPassword.0
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
neg ecx
or ecx, eax
push ecx
call fcn.0047c76b
add esp, 4
cmp dword [esi + 0x10], ebx
mov edi, eax
jle 0x465f1e
xor eax, eax
cmp dword [esi + 0xc], ebx
jle 0x465f12
mov ecx, dword [esi + 8]
mov dx, word [ecx + eax*2]
mov word [edi + eax*2], dx
inc eax
cmp eax, dword [esi + 0xc]
jl 0x465f01
mov eax, dword [esi + 8]
push eax
call fcn.0047d358
add esp, 4
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov dword [esi + 8], edi
mov word [edi + eax*2], cx
mov dword [esi + 0x10], 4
jmp 0x465f37
xor esi, esi
xor ebx, ebx
mov byte [esp + 0x408], 4
mov dword [esp + 0x188], esi
cmp esi, ebx
je 0x465f52
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov eax, dword [esp + 0x24c]
cmp eax, ebx
je 0x465f65
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x24c], esi
cmp byte [eax + 0x2c], 0
je 0x46601d
add eax, 0x30
add esi, 8
mov dword [esp + 0x10], eax
cmp eax, esi
je 0x46628d
mov ecx, dword [esi]
xor edx, edx
mov dword [esi + 4], 0
mov word [ecx], dx
mov edi, eax
mov ebx, dword [edi + 4]
inc ebx
cmp ebx, dword [esi + 8]
je 0x465ffd
xor ecx, ecx
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047c76b
add esp, 4
cmp dword [esi + 8], 0
mov edi, eax
jle 0x465feb
xor eax, eax
cmp dword [esi + 4], eax
jle 0x465fe0
mov ecx, dword [esi]
mov dx, word [ecx + eax*2]
mov word [edi + eax*2], dx
inc eax
cmp eax, dword [esi + 4]
jl 0x465fd0
mov eax, dword [esi]
push eax
call fcn.0047d358
add esp, 4
mov eax, dword [esi + 4]
mov dword [esi], edi
xor ecx, ecx
mov word [edi + eax*2], cx
mov edi, dword [esp + 0x10]
mov dword [esi + 8], ebx
mov edx, dword [edi]
mov ecx, dword [esi]
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x466001
mov edx, dword [edi + 4]
mov dword [esi + 4], edx
jmp 0x46628d
mov eax, dword [ebp + 0x28]
cmp eax, ebx
jne 0x4660e7
lea eax, [esp + 0x118]
push eax
mov byte [esp + 0x40c], 3
call fcn.00468570
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.00468370
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x408], 1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x408], 0
mov ecx, dword [esp + 0x24]
push ecx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call dword [0x4ab4cc]
mov edx, dword [esp + 0x28]
push edx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov eax, dword [esp + 0x50]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], esi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0047d358
add esp, 4
mov eax, 0x80004001
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x38], ebx
mov byte [esp + 0x408], 7
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x38]
push ecx
push eax
call edx
mov edi, eax
cmp edi, ebx
je 0x4661d1
mov eax, dword [esp + 0x38]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.00468570
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.00468370
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x408], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], 0
mov eax, dword [esp + 0x24]
push eax
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], esi
call dword [0x4ab4cc]
mov eax, dword [esp + 0x50]
push eax
call fcn.0047d358
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x38]
mov ecx, dword [esi + 8]
xor eax, eax
mov dword [esi + 0xc], 0
xor ebx, ebx
mov word [ecx], ax
mov dword [esp + 0x40], edx
cmp word [edx], bx
je 0x4661f8
nop
inc ebx
cmp word [edx + ebx*2], 0
jne 0x4661f0
lea eax, [ebx + 1]
cmp eax, dword [esi + 0x10]
je 0x466263
xor ecx, ecx
lea edi, [ebx + 1]
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047c76b
add esp, 4
cmp dword [esi + 0x10], 0
mov edi, eax
jle 0x46624d
xor eax, eax
cmp dword [esi + 0xc], eax
jle 0x466241
lea ecx, [ecx]
mov ecx, dword [esi + 8]
mov dx, word [ecx + eax*2]
mov word [edi + eax*2], dx
inc eax
cmp eax, dword [esi + 0xc]
jl 0x466230
mov eax, dword [esi + 8]
push eax
call fcn.0047d358
add esp, 4
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
mov dword [esi + 8], edi
mov word [edi + eax*2], cx
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 8]
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x466266
mov byte [esp + 0x408], 4
mov edx, dword [esp + 0x38]
push edx
mov dword [esi + 0xc], ebx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x1c]
mov esi, edi
call fcn.00461f10
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x466361
lea eax, [esp + 0x118]
push eax
mov byte [esp + 0x40c], 3
call fcn.00468570
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.00468370
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x408], 1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x408], bl
mov ecx, dword [esp + 0x24]
push ecx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], edi
call dword [0x4ab4cc]
mov edx, dword [esp + 0x28]
push edx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov eax, dword [esp + 0x50]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], edi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0047d358
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x4c]
mov edx, dword [eax]
push ebx
push 1
push ebx
push 0x18
push eax
mov eax, dword [edx + 0x10]
call eax
mov esi, eax
cmp esi, ebx
jne 0x4678cd
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [esp + 0x68], ebx
mov edi, edi
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x68]
mov eax, dword [ecx + edx*4]
lea ecx, [esp + 0x130]
push ecx
mov dword [esp + 0x44], eax
call fcn.00454fa0
test byte [esp + 0x68], 1
mov eax, dword [ebp + 0x24]
mov byte [esp + 0x408], 8
je 0x4663de
movzx ecx, byte [eax + 9]
lea edx, [esp + 0x130]
push edx
mov edx, dword [eax]
push ecx
push edx
call fcn.00464b60
add esp, 0xc
jmp 0x46656c
mov ecx, dword [esp + 0x138]
mov esi, dword [eax]
mov edx, dword [esp + 0x130]
mov eax, dword [edx + 4]
push ecx
push ebx
lea ecx, [esp + 0x138]
mov dword [esp + 0x60], esi
call eax
mov esi, dword [esi + 8]
mov ecx, dword [esp + 0x138]
lea edi, [ecx + esi]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x130]
call fcn.00450350
mov edi, dword [esp + 0x58]
xor esi, esi
cmp dword [esp + 0x10], ebx
jle 0x466449
lea esp, [esp]
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + esi*4]
lea edx, [esp + 0x130]
call fcn.00457050
inc esi
cmp esi, dword [esp + 0x10]
jl 0x466430
mov eax, dword [esp + 0x14c]
mov edx, dword [esp + 0x144]
push eax
mov eax, dword [edx + 4]
push ebx
lea ecx, [esp + 0x14c]
call eax
lea ecx, [edi + 0x14]
push ecx
lea eax, [esp + 0x148]
call fcn.00457940
mov edx, dword [edi + 0x28]
lea esi, [edi + 0x30]
mov dword [esp + 0x158], edx
mov al, byte [edi + 0x2c]
lea ecx, [esp + 0x160]
mov byte [esp + 0x15c], al
mov dword [esp + 0x10], esi
cmp esi, ecx
je 0x46656c
mov eax, dword [esp + 0x160]
xor edx, edx
mov dword [esp + 0x164], ebx
mov word [eax], dx
mov edi, dword [esi + 4]
inc edi
cmp edi, dword [esp + 0x168]
je 0x466548
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047c76b
add esp, 4
cmp dword [esp + 0x168], ebx
mov esi, eax
jle 0x466529
xor eax, eax
cmp dword [esp + 0x164], ebx
jle 0x466519
jmp 0x466500
mov ecx, dword [esp + 0x160]
mov dx, word [ecx + eax*2]
mov word [esi + eax*2], dx
inc eax
cmp eax, dword [esp + 0x164]
jl 0x466500
mov eax, dword [esp + 0x160]
push eax
call fcn.0047d358
add esp, 4
mov edx, dword [esp + 0x164]
mov dword [esp + 0x160], esi
xor ecx, ecx
mov word [esi + edx*2], cx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x168], edi
mov edx, dword [esi]
mov ecx, dword [esp + 0x160]
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x466551
mov eax, dword [esi + 4]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x68]
shr ecx, 1
test cl, 1
je 0x466686
cmp byte [esp + 0x15c], bl
jne 0x4666a0
mov esi, dword [esp + 0x188]
cmp esi, ebx
je 0x46667c
add esi, 8
lea edx, [esp + 0x160]
mov dword [esp + 0x10], esi
cmp esi, edx
je 0x46667c
mov ecx, dword [esp + 0x160]
xor eax, eax
mov dword [esp + 0x164], ebx
mov word [ecx], ax
mov edi, dword [esi + 4]
inc edi
cmp edi, dword [esp + 0x168]
je 0x466658
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047c76b
add esp, 4
cmp dword [esp + 0x168], ebx
mov esi, eax
jle 0x466639
xor eax, eax
cmp dword [esp + 0x164], ebx
jle 0x466629
jmp 0x466610
mov ecx, dword [esp + 0x160]
mov dx, word [ecx + eax*2]
mov word [esi + eax*2], dx
inc eax
cmp eax, dword [esp + 0x164]
jl 0x466610
mov eax, dword [esp + 0x160]
push eax
call fcn.0047d358
add esp, 4
mov edx, dword [esp + 0x164]
mov dword [esp + 0x160], esi
xor ecx, ecx
mov word [esi + edx*2], cx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x168], edi
mov edx, dword [esi]
mov ecx, dword [esp + 0x160]
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x466661
mov eax, dword [esi + 4]
mov dword [esp + 0x164], eax
mov byte [esp + 0x15c], 1
jmp 0x4666a0
mov edx, dword [esp + 0x160]
xor ecx, ecx
mov byte [esp + 0x15c], bl
mov dword [esp + 0x164], ebx
mov word [edx], cx
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x2e8]
push ecx
call fcn.00456510
mov byte [esp + 0x408], 9
mov edx, dword [esp + 0x38]
cmp edx, dword [esp + 0x24]
jge 0x466fd5
mov eax, edx
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
mov dword [esp + 0x58], eax
jmp 0x4666e4
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x68]
cmp dword [eax + ecx + 4], edx
jne 0x466fd5
mov edx, dword [eax + ecx]
mov edi, dword [ebp + 0xc]
lea eax, [eax + ecx + 8]
mov ecx, dword [edi + 0x5c]
lea esi, [edx*4]
mov dword [esp + 0x90], eax
mov eax, dword [eax]
mov dword [esp + 0x64], esi
cmp eax, dword [esi + ecx]
jne 0x46689a
mov eax, edi
call fcn.00457ae0
mov ecx, dword [edi + 0x17c]
mov dword [esp + 0x178], edx
mov edx, dword [edi + 0x190]
mov edx, dword [esi + edx]
mov dword [esp + 0x174], eax
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
add eax, dword [edi + 0x148]
mov edx, dword [ebp + 0x14]
adc ecx, dword [edi + 0x14c]
mov edx, dword [edx + 0x50]
push ebx
push ebx
push ecx
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov ecx, dword [edx + 0x10]
push eax
mov eax, dword [ebp + 8]
push eax
call ecx
cmp eax, ebx
jne 0x46679c
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [ebp + 8]
push edx
call fcn.00464370
add esp, 0x10
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x467782
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x174]
add dword [eax + 0x18], ecx
mov edx, dword [esp + 0x178]
mov dword [esp + 0x10], ebx
adc dword [eax + 0x1c], edx
mov eax, dword [edi + 0x48]
mov eax, dword [esi + eax]
cmp dword [eax + 0x30], ebx
mov ecx, dword [edi + 0x190]
mov esi, dword [esi + ecx]
mov dword [esp + 0x5c], eax
jle 0x466885
lea edx, [esi*8]
mov dword [esp + 0x30], edx
mov ecx, edx
mov eax, dword [edi + 0xc]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x190], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x18c], edx
cmp dword [esi + 8], eax
jne 0x466836
cmp eax, 0x40
mov ecx, 1
jl 0x466821
mov ecx, eax
shr ecx, 2
jmp 0x46682b
cmp eax, 8
jl 0x46682b
mov ecx, 8
lea edi, [ecx + eax]
call fcn.00450350
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x18c]
mov dword [eax + ecx*8], edx
mov edx, dword [esp + 0x190]
mov dword [eax + ecx*8 + 4], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
inc dword [esi + 8]
inc eax
add ecx, 8
cmp eax, dword [edx + 0x30]
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], ecx
jl 0x4667ed
mov eax, edx
push eax
lea ecx, [esi + 0x3c]
call fcn.004613d0
jmp 0x466d88
mov eax, dword [esp + 0x5c]
mov esi, dword [ebp + 0x18]
push eax
lea ecx, [esi + 0x3c]
call fcn.004613d0
jmp 0x466d88
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push ebx
push 1
push 1
push ebx
call esi
mov dword [esp + 0x6c], eax
cmp eax, ebx
jne 0x4668cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x4668f9
mov eax, 1
jmp 0x4668f9
push ebx
push ebx
push 1
push ebx
call esi
mov dword [esp + 0x70], eax
cmp eax, ebx
je 0x4668bc
push ebx
push ebx
push 1
push ebx
call esi
mov dword [esp + 0x74], eax
cmp eax, ebx
jne 0x466903
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
je 0x467755
mov esi, eax
cmp esi, ebx
jne 0x46775a
mov dword [esp + 0x18], ebx
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x34]
push edx
lea esi, [esp + 0x74]
mov byte [esp + 0x410], 0xc
call fcn.00443160
xor esi, esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 1
mov dword [esp + 0xcc], vtable.CRecordVector_bool_.0
mov ecx, dword [esp + 0x64]
mov byte [esp + 0x408], 0xd
mov eax, dword [edi + 0x5c]
mov eax, dword [ecx + eax]
mov edx, dword [edi + 0x1a4]
mov ecx, dword [ecx + edx]
mov dword [esp + 0x10], eax
mov dword [esp + 0x5c], ebx
cmp eax, ebx
jbe 0x466a33
lea eax, [ecx*4]
mov dword [esp + 0x60], eax
mov ecx, eax
jmp 0x466997
mov esi, dword [esp + 0xd0]
mov edx, dword [edi + 0x70]
mov eax, dword [ecx + edx]
mov byte [esp + 0x37], bl
cmp byte [eax + 0x1c], bl
je 0x4669c8
mov eax, dword [esp + 0x50]
mov eax, dword [ecx + eax]
inc dword [esp + 0x5c]
cmp eax, ebx
jl 0x4669c8
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x38], bl
jne 0x4669c8
mov byte [esp + 0x37], 1
cmp dword [esp + 0xd4], esi
jne 0x466a02
cmp esi, 0x40
mov eax, 1
jl 0x4669e2
mov eax, esi
shr eax, 2
jmp 0x4669ec
cmp esi, 8
jl 0x4669ec
mov eax, 8
lea edi, [eax + esi]
lea esi, [esp + 0xcc]
call fcn.00450350
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0xd8]
mov esi, dword [esp + 0xd4]
mov dl, byte [esp + 0x37]
mov byte [eax + esi], dl
mov eax, dword [esp + 0x5c]
inc dword [esp + 0xd4]
add ecx, 4
mov dword [esp + 0x60], ecx
cmp eax, dword [esp + 0x10]
jb 0x466990
mov eax, dword [edi + 0x1a4]
add eax, dword [esp + 0x64]
mov esi, dword [esp + 0x230]
mov eax, dword [eax]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xcc]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
cmp eax, ebx
je 0x466a6a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
je 0x466a7d
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push ecx
call eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x18], eax
mov eax, esi
mov dword [esi + 0x20], ebx
mov byte [esi + 0x24], bl
call fcn.004651c0
mov esi, eax
cmp esi, ebx
jne 0x467917
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x466aab
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x18], ebx
mov esi, dword [ebp + 8]
cmp esi, ebx
je 0x466aba
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov eax, dword [esp + 0x22c]
cmp eax, ebx
je 0x466acd
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [edi + 0x48]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x22c], esi
mov edx, dword [eax + ecx]
mov ecx, dword [edi + 0x190]
add eax, ecx
mov ecx, dword [edi + 0x17c]
mov dword [esp + 0x248], edx
mov edx, dword [eax]
mov esi, dword [ecx + edx*8]
mov edx, dword [ecx + edx*8 + 4]
add esi, dword [edi + 0x148]
mov ecx, dword [edi + 0xc]
adc edx, dword [edi + 0x14c]
mov dword [esp + 0x23c], esi
mov dword [esp + 0x240], edx
mov eax, dword [eax]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x218]
push eax
mov dword [esp + 0x248], edx
mov byte [esp + 0x228], bl
call dword [sym.imp.KERNEL32.dll_SetEvent]
cmp eax, ebx
jne 0x466b44
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 8]
mov edx, 4
mov eax, 8
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], edx
mov dword [esp + method.CObjectVector_struct_NArchive::N7z::CCoderInfo_.virtual_0], vtable.CObjectVector_struct_NArchive::N7z::CCoderInfo_.0
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], eax
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_struct_NArchive::N7z::CBindPair_.0
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0x1cc], edx
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_int_.0
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0x1e0], eax
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov byte [esp + 0x1e8], bl
mov esi, dword [esp + 0x3c]
mov edx, dword [ebp + 0x14]
push esi
push ecx
mov byte [esp + 0x410], 0xe
mov eax, dword [edx + 0x50]
mov edx, dword [esp + 0x38]
push eax
lea eax, [esp + 0x1a0]
push eax
lea ecx, [esp + 0xa4]
push ecx
push edx
lea eax, [esp + 0x2fc]
push eax
call fcn.00455750
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x467a38
mov ecx, dword [esp + 0x21c]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x228]
cmp eax, ebx
jne 0x467c05
mov ecx, dword [ebp + 0x18]
cmp edi, dword [ecx + 8]
jge 0x466c77
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + edi*8]
add dword [esi + 0x28], edx
mov eax, dword [eax + edi*8 + 4]
adc dword [esi + 0x2c], eax
inc edi
cmp edi, dword [ecx + 8]
jl 0x466c61
lea edi, [esp + 0x194]
call fcn.00457a80
mov ecx, dword [esp + 0x3c]
add dword [ecx + 0x20], eax
adc dword [ecx + 0x24], edx
mov ecx, edi
push ecx
mov ecx, dword [ebp + 0x18]
add ecx, 0x3c
call fcn.004613d0
mov edx, edi
push edx
mov byte [esp + 0x40c], 0xd
call fcn.0045bb10
mov byte [esp + 0x408], 0xc
mov eax, dword [esp + 0xd4]
push eax
push ebx
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd4], vtable.CBaseRecordVector.0
call dword [0x4ab4cc]
mov ecx, dword [esp + 0xd8]
push ecx
call fcn.0047d358
mov byte [esp + 0x40c], 0xb
mov eax, dword [esp + 0x34]
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
cmp eax, ebx
je 0x466d11
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x408], 0xa
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x466d29
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], 9
mov eax, dword [esp + 0x74]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x466d4e
push eax
call esi
test eax, eax
jne 0x466d4e
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x466d52
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x466d69
push eax
call esi
test eax, eax
jne 0x466d69
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x466d6d
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x466d82
push eax
call esi
test eax, eax
jne 0x466d82
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
push ecx
lea eax, [esi + 0x50]
call fcn.004615e0
mov edx, dword [edi + 0x5c]
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + edx]
mov edx, dword [edi + 0x1a4]
mov ecx, dword [ecx + edx]
mov dword [esp + 0x10], eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x30], ecx
cmp eax, ebx
jbe 0x466fbd
jmp 0x466dd0
push 4
lea esi, [esp + 0x80]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
call fcn.00441340
mov byte [esp + 0x88], 1
mov byte [esp + 0x89], bl
mov byte [esp + 0x8a], bl
mov byte [esp + 0x8b], bl
lea edx, [esp + 0x6c]
push edx
mov byte [esp + 0x40c], 0xf
mov esi, dword [esp + 0x34]
push edi
lea ebx, [esp + 0x1f4]
call fcn.00463c10
xor ebx, ebx
cmp byte [esp + 0x88], bl
je 0x466f94
mov eax, dword [esp + 0x50]
inc dword [esp + 0x5c]
mov ecx, esi
mov eax, dword [eax + ecx*4]
cmp eax, ebx
jl 0x466f94
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x90], eax
cmp byte [eax + 0x38], bl
jne 0x466f94
cmp byte [eax + 0x39], bl
je 0x466f7d
push 4
lea esi, [esp + 0xe0]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
call fcn.00441340
mov byte [esp + 0xe8], 1
mov byte [esp + 0xe9], bl
mov byte [esp + 0xea], bl
mov byte [esp + 0xeb], bl
lea eax, [esp + 0x1ec]
mov byte [esp + 0x408], 0x10
mov esi, dword [esp + 0x90]
push eax
lea ebx, [esp + 0xd0]
call fcn.00464ea0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
mov bl, byte [esp + 0x8e]
mov dword [esp + 0xd0], ecx
movzx ecx, byte [esp + 0x8c]
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0xdc], eax
add esp, 4
lea edi, [esp + 0xdc]
lea eax, [esp + 0x7c]
mov byte [esp + 0xea], bl
mov byte [esp + 0xe8], cl
mov dword [esp + 0x74], edx
call fcn.00447550
mov al, byte [esp + 0xe8]
movzx ecx, byte [esp + 0xe9]
mov dl, byte [esp + 0xeb]
mov byte [esp + 0x88], al
mov byte [esp + 0x408], 0xf
mov eax, dword [esp + 0xdc]
push eax
mov byte [esp + 0x8d], cl
mov byte [esp + 0x8e], bl
mov byte [esp + 0x8f], dl
call fcn.0047d358
add esp, 4
mov edi, dword [ebp + 0x18]
lea ecx, [esp + 0x6c]
push ecx
lea esi, [esp + 0x1f0]
call fcn.00463d70
mov edi, dword [ebp + 0xc]
mov byte [esp + 0x408], 9
mov edx, dword [esp + 0x7c]
push edx
call fcn.0047d358
mov eax, dword [esp + 0x14]
inc dword [esp + 0x34]
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x5c], eax
jb 0x466dd0
mov eax, dword [esp + 0x38]
add dword [esp + 0x58], 0xc
inc eax
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
jl 0x4666e0
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 8]
mov dword [esp + 0x60], eax
cmp eax, ebx
jne 0x467018
lea edx, [esp + 0x2e4]
push edx
mov byte [esp + 0x40c], 8
call fcn.00456db0
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.00456600
mov esi, vtable.CBaseRecordVector.0
jmp 0x467713
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], 0x14
mov dword [esp + 0xa4], 0x4aba4c
mov edi, dword [esp + 0x60]
lea esi, [esp + 0xa4]
mov byte [esp + 0x408], 0x11
call fcn.00450350
cmp dword [esp + 0xf8], ebx
ja 0x46706e
cmp dword [esp + 0xf4], 1
jbe 0x467078
mov byte [esp + 0x12c], 1
jmp 0x46707f
mov byte [esp + 0x12c], bl
xor esi, esi
cmp edi, ebx
jle 0x4670e5
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx + esi*4]
lea eax, [edx + esi*4]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x12c]
mov eax, dword [eax]
push edx
push eax
lea edx, [esp + 0xd4]
push edx
call fcn.00464890
mov edx, dword [eax]
sub esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], eax
lea eax, [esp + 0xb8]
call fcn.00468770
inc esi
cmp esi, edi
jl 0x467085
lea ecx, [esp + 0x12c]
push ecx
lea eax, [esp + 0xa8]
call fcn.004687e0
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], 4
mov dword [esp + 0xb8], vtable.CRecordVector_unsigned_int_.0
mov edi, dword [esp + 0x60]
lea esi, [esp + 0xb8]
mov byte [esp + 0x408], 0x12
call fcn.00450350
cmp edi, ebx
jle 0x4671da
mov edx, edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x40], edx
mov eax, 1
jmp 0x467160
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x58]
mov ecx, dword [edx + ecx + 4]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xbc]
cmp dword [esp + 0xc0], ecx
jne 0x4671b0
cmp ecx, 0x40
jl 0x467192
mov eax, ecx
shr eax, 2
jmp 0x46719c
cmp ecx, 8
jl 0x46719c
mov eax, 8
lea edi, [eax + ecx]
lea esi, [esp + 0xb8]
call fcn.00450350
mov eax, 1
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x90]
add dword [esp + 0x58], 0x14
mov dword [edx + esi*4], ecx
add dword [esp + 0xc0], eax
sub dword [esp + 0x40], eax
jne 0x467160
cmp dword [esp + 0x60], ebx
mov dword [esp + 0x18], ebx
jle 0x467650
jmp 0x4671f0
push 4
lea esi, [esp + 0x180]
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], ebx
call fcn.00441340
mov byte [esp + 0x408], 0x13
mov edi, dword [esp + 0x18]
xor esi, esi
cmp edi, dword [esp + 0x60]
mov dword [esp + 0x64], esi
jge 0x467345
lea ecx, [ecx]
mov eax, esi
cdq
cmp edx, dword [esp + 0xf8]
ja 0x467340
jb 0x46725f
cmp eax, dword [esp + 0xf4]
jae 0x467340
mov eax, dword [esp + 0xc4]
lea edx, [esi + edi]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x20]
add dword [esp + 0x16c], edx
mov edx, dword [ecx + 0x24]
mov eax, dword [esp + 0x170]
adc eax, edx
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x170], eax
cmp eax, dword [edx + 0x1c]
ja 0x467340
jb 0x4672b0
mov eax, dword [esp + 0x16c]
cmp eax, dword [edx + 0x18]
ja 0x467340
cmp byte [edx + 0x20], bl
je 0x467317
lea eax, [esp + 0x104]
call fcn.00464570
mov byte [esp + 0x408], 0x14
cmp esi, ebx
mov esi, dword [esp + 0x104]
jne 0x4672e9
lea edi, [esp + 0x104]
lea eax, [esp + 0x17c]
call fcn.00447550
jmp 0x4672fe
mov ecx, dword [esp + 0x17c]
push ecx
push esi
call fcn.004502a0
add esp, 8
test eax, eax
jne 0x46732b
push esi
mov byte [esp + 0x40c], 0x13
call fcn.0047d358
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x68]
add esp, 4
inc esi
lea edx, [esi + edi]
cmp edx, dword [esp + 0x60]
mov dword [esp + 0x64], esi
jl 0x467240
jmp 0x467340
push esi
mov byte [esp + 0x40c], 0x13
call fcn.0047d358
mov esi, dword [esp + 0x68]
add esp, 4
cmp esi, 1
jge 0x46734d
mov dword [esp + 0x64], 1
push 0x78
call fcn.0047d26c
add esp, 4
mov dword [esp + 0x90], eax
mov byte [esp + 0x408], 0x15
cmp eax, ebx
je 0x467378
push eax
call fcn.00458b10
mov esi, eax
mov dword [esp + 0x30], esi
jmp 0x46737e
mov dword [esp + 0x30], ebx
mov esi, ebx
mov byte [esp + 0x408], 0x13
mov dword [esp + 0x9c], esi
cmp esi, ebx
je 0x467399
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov edx, dword [esp + 0x64]
mov edi, dword [ebp + 0x20]
mov byte [esp + 0x408], 0x16
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc4]
add eax, eax
add eax, eax
mov dword [esp + 0x90], eax
push edx
add eax, ecx
push eax
call fcn.00458c00
lea eax, [esp + 0x194]
call fcn.0045d2f0
mov ecx, dword [ebp + 0x18]
mov esi, dword [esp + 0x3c]
mov edx, dword [ebp + 0x14]
push esi
push ecx
mov byte [esp + 0x410], 0x17
mov eax, dword [edx + 0x50]
mov edi, dword [ecx + 8]
mov edx, dword [esp + 0x38]
push eax
lea eax, [esp + 0x1a0]
push eax
lea ecx, [esp + 0xa4]
push ecx
push edx
lea eax, [esp + 0x2fc]
push eax
call fcn.00455750
mov dword [esp + 0x40], eax
cmp eax, ebx
jne 0x467d67
mov ecx, dword [ebp + 0x18]
cmp edi, dword [ecx + 8]
jge 0x46743a
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + edi*8]
add dword [esi + 0x28], edx
mov eax, dword [eax + edi*8 + 4]
adc dword [esi + 0x2c], eax
inc edi
cmp edi, dword [ecx + 8]
jl 0x467424
lea edi, [esp + 0x194]
call fcn.00457a80
add dword [esi + 0x20], eax
mov ecx, edi
push ecx
adc dword [esi + 0x24], edx
mov ecx, dword [ebp + 0x18]
add ecx, 0x3c
call fcn.004613d0
xor edi, edi
cmp dword [esp + 0x64], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x40], edi
jle 0x4675e5
mov edx, dword [esp + 0x90]
mov dword [esp + 0x5c], edx
lea esp, [esp]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + eax]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4]
push 4
lea esi, [esp + 0x80]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
call fcn.00441340
mov byte [esp + 0x88], 1
mov byte [esp + 0x89], bl
mov byte [esp + 0x8a], bl
mov byte [esp + 0x8b], bl
mov eax, dword [esp + 0x58]
mov byte [esp + 0x408], 0x18
cmp byte [eax + 0x39], bl
je 0x467504
lea ecx, [esp + 0xcc]
push ecx
lea ebx, [esp + 0x70]
mov esi, eax
call fcn.00464ea0
add esp, 4
jmp 0x46751f
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x58]
mov esi, dword [ecx]
lea edx, [esp + 0x6c]
push edx
push eax
lea ebx, [esp + 0xd4]
call fcn.00463c10
xor ebx, ebx
cmp byte [esp + 0xf0], bl
jne 0x467f1b
cmp byte [esp + 0x89], bl
jne 0x467f1b
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x48]
cmp byte [edi + edx], bl
jne 0x46755b
mov byte [esp + 0x408], 0x17
mov eax, dword [esp + 0x7c]
push eax
call fcn.0047d358
jmp 0x4675cc
mov ecx, dword [eax + 0x5c]
mov edx, dword [ecx + edi*4]
mov ecx, dword [eax + 0x70]
mov eax, dword [ecx + edi*8]
mov ecx, dword [ecx + edi*8 + 4]
mov dword [esp + 0x6c], eax
or eax, ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x70], ecx
je 0x467594
mov eax, 1
add dword [esp + 0x10], eax
mov byte [esp + 0x8a], al
mov byte [esp + 0x88], al
jmp 0x4675a2
mov byte [esp + 0x8a], bl
mov byte [esp + 0x88], bl
mov edi, dword [ebp + 0x18]
lea eax, [esp + 0x6c]
push eax
lea esi, [esp + 0xd0]
call fcn.00463d70
mov byte [esp + 0x408], 0x17
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.0047d358
mov edi, dword [esp + 0x44]
add dword [esp + 0x60], 4
inc edi
add esp, 4
xor ebx, ebx
cmp edi, dword [esp + 0x64]
mov dword [esp + 0x40], edi
jl 0x467480
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x18]
push edx
add eax, 0x50
call fcn.004615e0
mov esi, dword [esp + 0x18]
add esi, dword [esp + 0x64]
lea eax, [esp + 0x194]
push eax
mov dword [esp + 0x1c], esi
mov byte [esp + 0x40c], 0x16
call fcn.0045bb10
mov byte [esp + 0x408], 0x13
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x46762e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], 0x12
mov eax, dword [esp + 0x17c]
push eax
call fcn.0047d358
add esp, 4
cmp esi, dword [esp + 0x60]
jl 0x4671f0
mov byte [esp + 0x408], 0x11
mov ecx, dword [esp + 0xc0]
push ecx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], esi
call dword [0x4ab4cc]
mov edx, dword [esp + 0xc4]
push edx
call fcn.0047d358
mov byte [esp + 0x40c], 9
mov eax, dword [esp + 0xb0]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0xac]
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xac], esi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.0047d358
add esp, 4
lea edx, [esp + 0x2e4]
push edx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov byte [esp + 0x40c], 8
call fcn.00456db0
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.00456600
mov eax, dword [esp + 0x68]
inc eax
cmp eax, 4
mov dword [esp + 0x68], eax
jl 0x466390
mov ecx, dword [esp + 0x38]
cmp ecx, dword [esp + 0x24]
je 0x4680e1
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00468570
lea eax, [esp + 0x214]
push eax
jmp 0x468045
mov esi, 1
mov eax, dword [esp + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x467869
push eax
call edi
test eax, eax
jne 0x467869
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46786d
lea ecx, [esp + 0x2e4]
push ecx
mov byte [esp + 0x40c], 8
call fcn.00456db0
lea edx, [esp + 0x130]
push edx
mov byte [esp + 0x40c], 4
call fcn.00456600
lea eax, [esp + 0x118]
push eax
mov byte [esp + 0x40c], 3
call fcn.00468570
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.00468370
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x408], 1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x408], bl
mov ecx, dword [esp + 0x24]
push ecx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call dword [0x4ab4cc]
mov edx, dword [esp + 0x28]
push edx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov eax, dword [esp + 0x50]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], esi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0047d358
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x467884
push eax
call edi
test eax, eax
jne 0x467884
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x467888
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x46789f
push eax
call edi
test eax, eax
jne 0x46789f
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4678a3
mov dword [esp + 0x6c], ebx
lea edx, [esp + 0x2e4]
push edx
mov byte [esp + 0x40c], 8
call fcn.00456db0
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.00456600
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.00468570
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.00468370
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x408], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], bl
jmp 0x465a8b
mov byte [esp + 0x408], 0xc
mov ecx, dword [esp + 0xd4]
push ecx
push ebx
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd4], vtable.CBaseRecordVector.0
call dword [0x4ab4cc]
mov edx, dword [esp + 0xd8]
push edx
call fcn.0047d358
mov byte [esp + 0x40c], 0xb
mov eax, dword [esp + 0x34]
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
cmp eax, ebx
je 0x46797d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], 0xa
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x467995
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x4679b2
push eax
call edi
test eax, eax
jne 0x4679b2
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4679b6
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x4679cd
push eax
call edi
test eax, eax
jne 0x4679cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4679d1
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x4679e8
push eax
call edi
test eax, eax
jne 0x4679e8
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4679ec
mov dword [esp + 0x6c], ebx
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x40c], 8
call fcn.00456db0
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.00456600
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00468570
lea eax, [esp + 0x214]
push eax
jmp 0x4678ea
lea ecx, [esp + 0x194]
push ecx
mov byte [esp + 0x40c], 0xd
call fcn.0045bb10
mov byte [esp + 0x408], 0xc
mov edx, dword [esp + 0xd4]
push edx
push ebx
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd4], vtable.CBaseRecordVector.0
call dword [0x4ab4cc]
mov eax, dword [esp + 0xd8]
push eax
call fcn.0047d358
mov byte [esp + 0x40c], 0xb
mov eax, dword [esp + 0x34]
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
cmp eax, ebx
je 0x467ab3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], 0xa
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x467acb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x467ae8
push eax
call edi
test eax, eax
jne 0x467ae8
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x467aec
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x467b03
push eax
call edi
test eax, eax
jne 0x467b03
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x467b07
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x467b1e
push eax
call edi
test eax, eax
jne 0x467b1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x467b22
mov dword [esp + 0x6c], ebx
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x40c], 8
call fcn.00456db0
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.00456600
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00468570
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.00468370
mov byte [esp + 0x408], 1
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov byte [esp + 0x408], bl
mov eax, dword [esp + 0x24]
push eax
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], esi
call dword [0x4ab4cc]
mov eax, dword [esp + 0x50]
push eax
call fcn.0047d358
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x194]
push ecx
mov edi, eax
mov byte [esp + 0x40c], 0xd
call fcn.0045bb10
mov byte [esp + 0x408], 0xc
mov edx, dword [esp + 0xd4]
push edx
push ebx
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd4], vtable.CBaseRecordVector.0
call dword [0x4ab4cc]
mov eax, dword [esp + 0xd8]
push eax
call fcn.0047d358
mov byte [esp + 0x40c], 0xb
mov eax, dword [esp + 0x34]
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
cmp eax, ebx
je 0x467c82
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], 0xa
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x467c9a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x467cb5
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x467cb5
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x467cb9
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x467cd4
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x467cd4
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x467cd8
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x467cf3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x467cf3
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x467cf7
mov dword [esp + 0x6c], ebx
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x40c], 8
call fcn.00456db0
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.00456600
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00468570
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.00468370
mov byte [esp + 0x408], 1
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov byte [esp + 0x408], bl
jmp 0x46615b
lea ecx, [esp + 0x194]
push ecx
mov byte [esp + 0x40c], 0x16
call fcn.0045bb10
mov byte [esp + 0x408], 0x13
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x467d94
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0x17c]
push ecx
call fcn.0047d358
mov byte [esp + 0x40c], 0x11
mov edx, dword [esp + 0xc4]
add esp, 4
push edx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], edi
call dword [0x4ab4cc]
mov eax, dword [esp + 0xc4]
push eax
call fcn.0047d358
mov byte [esp + 0x40c], 9
mov ecx, dword [esp + 0xb0]
add esp, 4
push ecx
push ebx
lea ecx, [esp + 0xac]
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xac], edi
call dword [0x4ab4cc]
mov edx, dword [esp + 0xb0]
push edx
call fcn.0047d358
add esp, 4
lea eax, [esp + 0x2e4]
push eax
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov byte [esp + 0x40c], 8
call fcn.00456db0
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.00456600
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00468570
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.00468370
mov byte [esp + 0x408], 1
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov byte [esp + 0x408], bl
mov eax, dword [esp + 0x24]
push eax
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], edi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], edi
call dword [0x4ab4cc]
mov eax, dword [esp + 0x50]
push eax
call fcn.0047d358
mov eax, dword [esp + 0x44]
add esp, 4
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.0047d358
add esp, 4
lea edx, [esp + 0x194]
push edx
mov byte [esp + 0x40c], 0x16
call fcn.0045bb10
mov byte [esp + 0x408], 0x13
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x467f55
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x17c]
push eax
call fcn.0047d358
mov byte [esp + 0x40c], 0x11
mov ecx, dword [esp + 0xc4]
add esp, 4
push ecx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], esi
call dword [0x4ab4cc]
mov edx, dword [esp + 0xc4]
push edx
call fcn.0047d358
mov byte [esp + 0x40c], 9
mov eax, dword [esp + 0xb0]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0xac]
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xac], esi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.0047d358
add esp, 4
lea edx, [esp + 0x2e4]
push edx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov byte [esp + 0x40c], 8
call fcn.00456db0
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.00456600
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.00468570
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.00468370
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x408], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], bl
mov eax, dword [esp + 0x24]
push eax
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], esi
call dword [0x4ab4cc]
mov eax, dword [esp + 0x50]
push eax
call fcn.0047d358
add esp, 4
mov eax, 0x80004005
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], 4
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_int_.0
mov esi, dword [ebp + 0x10]
mov byte [esp + 0x408], 0x19
xor edi, edi
cmp dword [esi + 8], ebx
jle 0x468165
mov edi, edi
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + edi*4]
cmp byte [eax + 0x38], bl
je 0x46813d
cmp byte [eax + 0x3b], bl
jne 0x468152
cmp byte [eax + 0x3a], bl
jne 0x468152
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
jmp 0x468150
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x468152
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x1c], bl
jne 0x46815f
push edi
lea eax, [esp + 0x108]
call fcn.004615e0
inc edi
cmp edi, dword [esi + 8]
jl 0x468120
push esi
lea eax, [esp + 0x108]
call fcn.00468490
mov eax, dword [esp + 0x10c]
cmp eax, ebx
mov dword [esp + 0x18], ebx
jle 0x468266
jmp 0x468193
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
mov edi, dword [eax + edx*4]
push 4
lea esi, [esp + 0x80]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
call fcn.00441340
mov byte [esp + 0x88], 1
mov byte [esp + 0x89], bl
mov byte [esp + 0x8a], bl
mov byte [esp + 0x8b], bl
mov byte [esp + 0x408], 0x1a
cmp byte [edi + 0x39], bl
je 0x46820c
lea ecx, [esp + 0x1ec]
push ecx
lea ebx, [esp + 0x70]
mov esi, edi
call fcn.00464ea0
add esp, 4
jmp 0x468223
mov eax, dword [ebp + 0xc]
mov esi, dword [edi]
lea edx, [esp + 0x6c]
push edx
push eax
lea ebx, [esp + 0x1f4]
call fcn.00463c10
mov edi, dword [ebp + 0x18]
lea ecx, [esp + 0x6c]
push ecx
lea esi, [esp + 0x1f0]
call fcn.00463d70
mov byte [esp + 0x408], 0x19
mov edx, dword [esp + 0x7c]
push edx
call fcn.0047d358
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x110]
inc ecx
add esp, 4
xor ebx, ebx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jl 0x468190
push eax
mov byte [esp + 0x40c], 4
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x10c], esi
call dword [0x4ab4cc]
mov eax, dword [esp + 0x110]
push eax
call fcn.0047d358
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov ebx, dword [ebp + 0x18]
add esp, 4
call fcn.004642b0
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.00468570
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.00468370
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x408], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
mov byte [esp + 0x408], bl
mov eax, dword [esp + 0x24]
push eax
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call dword [0x4ab4cc]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0047d358
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], esi
call dword [0x4ab4cc]
mov eax, dword [esp + 0x50]
push eax
call fcn.0047d358
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret