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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4e562b
mov eax, dword fs:[0]
push eax
sub esp, 0x3f0
push ebx
push esi
push edi
mov eax, dword [0x50f130]
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 + 0xfc], eax
or eax, ecx
mov dword [esp + 0x100], ecx
jne 0x461d8f
mov dword [esp + 0xfc], 1
mov dword [esp + 0x100], eax
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x461df5
mov edi, dword [ebx + 0x13c]
test edi, edi
mov eax, dword [ebx + 0x138]
mov dword [esp + 0x174], eax
ja 0x461db1
test eax, eax
jbe 0x461df5
mov eax, dword [ebp + 0x24]
cmp byte [eax + 0x21], 0
jne 0x461df5
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 0x464acd
mov ecx, dword [ebp + 0x1c]
push eax
mov eax, dword [esp + 0x178]
push edi
push eax
push ecx
mov ecx, esi
call fcn.00460ac0
add esp, 0x10
test eax, eax
jne 0x464acd
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 4
mov dword [esp + 0x50], vtable.CRecordVector_int_.0
mov dword [esp + 0x408], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0xc
mov dword [esp + 0x20], vtable.CRecordVector_struct_NArchive::N7z::CFolderRepack_.0
cmp ebx, eax
mov byte [esp + 0x408], 1
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov byte [esp + 0x37], al
je 0x462155
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 0x6c]
lea esi, [esp + 0x50]
call fcn.0044cc10
mov eax, dword [ebp + 0xc]
xor ebx, ebx
cmp dword [eax + 0x6c], ebx
jle 0x461ed0
nop
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x58], ecx
jne 0x461eb1
cmp ecx, 0x40
mov eax, 1
jl 0x461e9b
mov eax, ecx
shr eax, 2
jmp 0x461ea5
cmp ecx, 8
jl 0x461ea5
mov eax, 8
lea edi, [eax + ecx]
lea esi, [esp + 0x50]
call fcn.0044cc10
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov eax, dword [ebp + 0xc]
mov dword [ecx + edx*4], 0xffffffff
add dword [esp + 0x58], 1
add ebx, 1
cmp ebx, dword [eax + 0x6c]
jl 0x461e80
mov edx, dword [ebp + 0x10]
xor eax, eax
cmp dword [edx + 8], eax
jle 0x461efc
lea ebx, [ebx]
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + eax*4]
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x461ef4
mov esi, dword [esp + 0x5c]
mov dword [esi + ecx*4], eax
add eax, 1
cmp eax, dword [edx + 8]
jl 0x461ee0
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x44], 0
mov dword [esp + 0x38], 0
jle 0x462146
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x5c]
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edx + 0x1a4]
mov eax, dword [edx + eax*4]
xor esi, esi
cmp ecx, esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
jbe 0x46212f
mov ecx, dword [esp + 0x5c]
lea edx, [ecx + eax*4]
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x70]
sub edi, ecx
mov ecx, dword [edi + edx]
cmp byte [ecx + 0x1c], 0
je 0x461f8f
mov eax, dword [edx]
add esi, 1
test eax, eax
jl 0x461f8f
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx + 0xc]
mov eax, dword [ebx + eax*4]
cmp byte [eax + 0x38], 0
jne 0x461f8f
mov eax, dword [ecx]
add dword [esp + 0x48], 1
add dword [esp + 0x9c], eax
mov ecx, dword [ecx + 4]
adc dword [esp + 0xa0], ecx
add edx, 4
cmp esi, dword [esp + 0x14]
jb 0x461f56
cmp dword [esp + 0x48], 0
je 0x46212f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0x38]
mov edi, dword [eax + ecx*4]
mov ebx, dword [edi + 8]
lea eax, [ebx - 1]
test eax, eax
jl 0x461fde
mov edx, dword [edi + 0xc]
lea ecx, [edx + eax*4]
mov edx, dword [ecx]
cmp dword [edx], 0x6f10701
jne 0x461fd4
cmp dword [edx + 4], 0
je 0x46204c
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x461fc0
mov byte [esp + 0x1b], 0
xor esi, esi
test ebx, ebx
jle 0x462019
mov edx, dword [edi + 0xc]
lea esp, [esp]
mov eax, dword [edx]
mov ecx, dword [eax]
cmp ecx, 0x3030103
mov eax, dword [eax + 4]
jne 0x462003
test eax, eax
je 0x462053
cmp ecx, 0x303011b
jne 0x46200f
test eax, eax
je 0x462053
add esi, 1
add edx, 4
cmp esi, ebx
jl 0x461ff0
xor al, al
mov ecx, dword [esp + 0x28]
xor ebx, ebx
test al, al
mov al, byte [esp + 0x1b]
setne bl
neg al
sbb eax, eax
and eax, 2
add ebx, eax
mov eax, dword [esp + 0x24]
cmp ecx, eax
jne 0x462071
cmp eax, 0x40
mov ecx, 1
jl 0x462057
mov ecx, eax
shr ecx, 2
jmp 0x462061
mov byte [esp + 0x1b], 1
jmp 0x461fe3
mov al, 1
jmp 0x46201b
cmp eax, 8
jl 0x462061
mov ecx, 8
lea edi, [ecx + eax]
lea esi, [esp + 0x20]
call fcn.0044cc10
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + ecx*2]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
add dword [esp + 0x28], 1
cmp ecx, dword [esp + 0x14]
jne 0x4620e5
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x190]
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + 0x48]
mov ebx, dword [edx + eax*4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x30]
xor esi, esi
xor edi, edi
xor ecx, ecx
test edx, edx
jle 0x4620d5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
lea eax, [eax + ebx*8]
mov ebx, dword [eax]
add esi, ebx
mov ebx, dword [eax + 4]
adc edi, ebx
add ecx, 1
add eax, 8
cmp ecx, edx
jl 0x4620c2
add dword [esp + 0xa4], esi
adc dword [esp + 0xa8], edi
jmp 0x46212f
mov ecx, dword [esp + 0x9c]
add dword [esp + 0xa4], ecx
mov eax, dword [esp + 0xa0]
adc dword [esp + 0xa8], eax
cmp eax, dword [esp + 0x98]
jb 0x462123
ja 0x462115
cmp ecx, dword [esp + 0x94]
jbe 0x462123
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
cmp byte [esp + 0x1b], 0
je 0x46212f
mov byte [esp + 0x37], 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp + 0xc]
add eax, 1
cmp eax, dword [ecx + 0x44]
mov dword [esp + 0x38], eax
jl 0x461f11
mov edx, dword [ebp + 0xc]
push edx
lea eax, [esp + 0x24]
call fcn.00464c70
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 + 0x9c], esi
mov dword [esp + 0xa0], edx
mov dword [esp + 0x4c], ecx
jle 0x4621e6
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x6c], ecx
mov edi, edi
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx]
cmp byte [ecx + 0x38], 0
je 0x4621ca
mov eax, dword [ecx + 0x20]
add dword [esp + 0xa4], eax
mov ecx, dword [ecx + 0x24]
adc dword [esp + 0xa8], ecx
cmp dword [esp + 0xfc], 1
jne 0x4621b4
cmp dword [esp + 0x100], 0
je 0x4621ba
add esi, eax
adc edx, ecx
jmp 0x4621c8
cmp ecx, edx
jb 0x4621c8
ja 0x4621c4
cmp eax, esi
jbe 0x4621c8
mov esi, eax
mov edx, ecx
xor eax, eax
add dword [esp + 0x6c], 4
add ebx, 1
cmp ebx, dword [esp + 0x4c]
jl 0x462180
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], esi
mov ecx, dword [esp + 0x98]
cmp ecx, edx
jb 0x462213
ja 0x4621fc
cmp dword [esp + 0x94], esi
jbe 0x462213
mov esi, dword [esp + 0x94]
mov edx, ecx
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], edx
cmp edx, eax
ja 0x462233
jb 0x462221
cmp esi, 0x10000
jae 0x462233
mov dword [esp + 0x9c], 0x10000
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xa8]
mov edi, dword [ebp + 0x20]
mov ecx, dword [esp + 0xa4]
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 0x4622d7
mov byte [esp + 0x408], bl
mov eax, dword [esp + 0x28]
push eax
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x5c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], edi
call dword [0x4f42d8]
mov eax, dword [esp + 0x5c]
push eax
call fcn.004b88f2
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.004b9230
add esp, 4
cmp eax, ebx
je 0x462316
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 0x46231a
mov dword [esp + 0x3c], ebx
test ebx, ebx
mov dword [esp + 0x1e8], ebx
je 0x46232d
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 0x46234c
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 0x462363
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 0x4f53c0
push eax
call edx
lea eax, [esp + 0x214]
push eax
mov byte [ebx + 0x10], 1
call fcn.00461ac0
xor edi, edi
cmp dword [esp + 0x28], edi
je 0x46244d
lea esi, [esp + 0x214]
call fcn.0043fe70
mov esi, eax
cmp esi, edi
je 0x46244d
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.00464af0
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 + 0x28]
push ecx
xor ebx, ebx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4f42d8]
mov edx, dword [esp + 0x2c]
push edx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], edi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.004b88f2
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
lea ecx, [ecx]
xor eax, eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edi
mov dword [esp + 0xac], vtable.CRecordVector_unsigned_int_.0
lea edx, [esp + 0xac]
push edx
lea ecx, [esp + 0x11c]
mov byte [esp + 0x40c], bl
call fcn.00464d80
mov byte [esp + 0x408], 4
mov eax, dword [esp + 0xb4]
push eax
push 0
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb4], vtable.CBaseRecordVector.0
call dword [0x4f42d8]
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.004b88f2
add esp, 4
sub esi, 1
jne 0x462480
mov eax, dword [ebp + 0x24]
mov dl, byte [eax + 8]
mov eax, dword [eax]
cmp dword [eax + 8], 1
mov byte [esp + 0x1b], dl
mov dword [esp + 0x4c], eax
jne 0x462522
cmp dword [eax + 0x1c], esi
je 0x462527
mov byte [esp + 0x1b], 0
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
xor edi, edi
test eax, eax
mov dword [esp + 0x1c], edi
jle 0x462668
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edi*4]
cmp byte [eax + 0x38], 0
je 0x462658
cmp byte [eax + 0x3b], 0
jne 0x462658
cmp byte [eax + 0x3a], 0
jne 0x462658
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
je 0x462658
xor bl, bl
cmp byte [esp + 0x1b], bl
je 0x4625f4
lea edx, [eax + 0x28]
mov eax, dword [edx + 4]
test eax, eax
je 0x4625f4
mov ecx, dword [edx]
cmp word [ecx + eax*2 - 2], 0x2e
lea eax, [ecx + eax*2 - 2]
je 0x4625a0
cmp eax, ecx
je 0x4625f4
sub eax, 2
cmp word [eax], 0x2e
jne 0x462593
sub eax, ecx
sar eax, 1
test eax, eax
jl 0x4625f4
add eax, 1
lea esi, [esp + 0x104]
call fcn.00443d40
mov edi, eax
xor esi, esi
jmp 0x4625c0
mov eax, dword [esi + 0x510f70]
push eax
mov eax, dword [edi]
push eax
call fcn.0044cb60
add esp, 8
test eax, eax
je 0x46262e
add esi, 4
cmp esi, 0x14
jb 0x4625c0
xor bl, bl
mov ecx, dword [esp + 0x104]
push ecx
call fcn.004b88f2
mov edi, dword [esp + 0x20]
add esp, 4
mov edx, dword [esp + 0x4c]
mov al, byte [edx + 0x2c]
mov edx, dword [esp + 0x124]
neg al
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 0x462648
cmp eax, 0x40
mov ecx, 1
jl 0x462632
mov ecx, eax
shr ecx, 2
jmp 0x46263c
mov bl, 1
jmp 0x4625e0
cmp eax, 8
jl 0x46263c
mov ecx, 8
lea edi, [eax + ecx]
call fcn.0044cc10
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ecx + eax*4], edi
add dword [esi + 8], 1
mov ecx, dword [ebp + 0x10]
add edi, 1
cmp edi, dword [ecx + 8]
mov dword [esp + 0x1c], edi
jl 0x46253b
cmp byte [esp + 0x37], 0
mov dword [esp + 0x188], 0
je 0x462a7b
push 0x14
call fcn.004b9230
mov esi, eax
add esp, 4
mov dword [esp + 0x70], esi
test esi, esi
mov byte [esp + 0x408], 6
je 0x462712
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.004b74d1
add esp, 4
cmp dword [esi + 0x10], ebx
mov edi, eax
jle 0x4626ff
xor eax, eax
cmp dword [esi + 0xc], ebx
jle 0x4626f3
mov edi, edi
mov ecx, dword [esi + 8]
mov dx, word [ecx + eax*2]
mov word [edi + eax*2], dx
add eax, 1
cmp eax, dword [esi + 0xc]
jl 0x4626e0
mov eax, dword [esi + 8]
push eax
call fcn.004b88f2
add esp, 4
mov eax, dword [esi + 0xc]
mov dword [esi + 8], edi
mov word [edi + eax*2], bx
mov dword [esi + 0x10], 4
jmp 0x462716
xor esi, esi
xor ebx, ebx
cmp esi, ebx
mov byte [esp + 0x408], 4
mov dword [esp + 0x188], esi
je 0x462731
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov eax, dword [esp + 0x24c]
cmp eax, ebx
je 0x462744
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 0x462800
add eax, 0x30
add esi, 8
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x462a7b
mov ecx, dword [esi]
mov dword [esi + 4], 0
mov word [ecx], 0
mov edi, eax
mov ebx, dword [edi + 4]
add ebx, 1
cmp ebx, dword [esi + 8]
je 0x4627e0
xor ecx, ecx
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b74d1
add esp, 4
cmp dword [esi + 8], 0
mov edi, eax
jle 0x4627ce
xor eax, eax
cmp dword [esi + 4], eax
jle 0x4627c3
mov ecx, dword [esi]
mov dx, word [ecx + eax*2]
mov word [edi + eax*2], dx
add eax, 1
cmp eax, dword [esi + 4]
jl 0x4627b1
mov eax, dword [esi]
push eax
call fcn.004b88f2
add esp, 4
mov eax, dword [esi + 4]
mov dword [esi], edi
mov word [edi + eax*2], 0
mov edi, dword [esp + 0x14]
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 0x4627e4
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
jmp 0x462a7b
mov eax, dword [ebp + 0x28]
cmp eax, ebx
jne 0x4628ca
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.00464af0
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 + 0x28]
push eax
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x5c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], esi
call dword [0x4f42d8]
mov eax, dword [esp + 0x5c]
push eax
call fcn.004b88f2
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 + 0x48], ebx
lea edx, [esp + 0x48]
mov byte [esp + 0x408], 7
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov ecx, dword [esp + 0x48]
mov edi, eax
cmp edi, ebx
je 0x4629b4
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.00464af0
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 + 0x28]
push eax
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x5c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], esi
call dword [0x4f42d8]
mov eax, dword [esp + 0x5c]
push eax
call fcn.004b88f2
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 [esi + 8]
mov dword [esi + 0xc], ebx
xor eax, eax
mov word [edx], bx
cmp word [ecx], bx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x6c], eax
je 0x4629dd
lea esp, [esp]
add eax, 1
cmp word [ecx + eax*2], bx
jne 0x4629d0
mov dword [esp + 0x6c], eax
mov ebx, dword [esp + 0x6c]
add ebx, 1
cmp ebx, dword [esi + 0x10]
je 0x462a41
xor ecx, ecx
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b74d1
add esp, 4
cmp dword [esi + 0x10], 0
mov edi, eax
jle 0x462a32
xor eax, eax
cmp dword [esi + 0xc], eax
jle 0x462a26
mov ecx, dword [esi + 8]
mov dx, word [ecx + eax*2]
mov word [edi + eax*2], dx
add eax, 1
cmp eax, dword [esi + 0xc]
jl 0x462a13
mov eax, dword [esi + 8]
push eax
call fcn.004b88f2
add esp, 4
mov eax, dword [esi + 0xc]
mov dword [esi + 8], edi
mov word [edi + eax*2], 0
mov dword [esi + 0x10], ebx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esi + 8]
jmp 0x462a50
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x462a50
mov ecx, dword [esp + 0x6c]
mov byte [esp + 0x408], 4
mov edx, dword [esp + 0x48]
push edx
mov dword [esi + 0xc], ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x1c]
mov esi, edi
call fcn.0045e650
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x462b4f
lea eax, [esp + 0x118]
push eax
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.00464af0
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 + 0x28]
push ecx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4f42d8]
mov edx, dword [esp + 0x2c]
push edx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], edi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.004b88f2
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 0x4640d9
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [esp + 0x48], ebx
lea esp, [esp]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x48]
mov eax, dword [ecx + edx*4]
lea ecx, [esp + 0x130]
push ecx
mov dword [esp + 0x50], eax
call fcn.00451880
mov eax, dword [ebp + 0x24]
mov byte [esp + 0x408], 8
test byte [esp + 0x48], 1
je 0x462bce
movzx ecx, byte [eax + 9]
lea edx, [esp + 0x130]
push edx
mov edx, dword [eax]
push ecx
push edx
call fcn.004612c0
add esp, 0xc
jmp 0x462d5c
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 + 0x6c], esi
call eax
mov esi, dword [esi + 8]
mov ecx, dword [esp + 0x138]
lea edi, [esi + ecx]
mov dword [esp + 0x14], esi
lea esi, [esp + 0x130]
call fcn.0044cc10
mov edi, dword [esp + 0x64]
xor esi, esi
cmp dword [esp + 0x14], ebx
jle 0x462c3b
lea esp, [esp]
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + esi*4]
lea edx, [esp + 0x130]
call fcn.004539c0
add esi, 1
cmp esi, dword [esp + 0x14]
jl 0x462c20
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.004542b0
mov edx, dword [edi + 0x28]
lea esi, [edi + 0x30]
mov dword [esp + 0x158], edx
mov al, byte [edi + 0x2c]
lea ecx, [esp + 0x160]
cmp esi, ecx
mov byte [esp + 0x15c], al
mov dword [esp + 0x14], esi
je 0x462d5c
mov edx, dword [esp + 0x160]
mov dword [esp + 0x164], ebx
mov word [edx], bx
mov edi, dword [esi + 4]
add edi, 1
cmp edi, dword [esp + 0x168]
je 0x462d38
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b74d1
add esp, 4
cmp dword [esp + 0x168], ebx
mov esi, eax
jle 0x462d1b
xor eax, eax
cmp dword [esp + 0x164], ebx
jle 0x462d0b
jmp 0x462cf0
mov ecx, dword [esp + 0x160]
mov dx, word [ecx + eax*2]
mov word [esi + eax*2], dx
add eax, 1
cmp eax, dword [esp + 0x164]
jl 0x462cf0
mov eax, dword [esp + 0x160]
push eax
call fcn.004b88f2
add esp, 4
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x160], esi
mov word [esi + ecx*2], bx
mov esi, dword [esp + 0x14]
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 0x462d41
mov edx, dword [esi + 4]
mov dword [esp + 0x164], edx
mov eax, dword [esp + 0x48]
shr eax, 1
test al, 1
je 0x462e67
cmp byte [esp + 0x15c], bl
jne 0x462e7f
mov esi, dword [esp + 0x188]
cmp esi, ebx
je 0x462e5d
add esi, 8
lea ecx, [esp + 0x160]
cmp esi, ecx
mov dword [esp + 0x14], esi
je 0x462e5d
mov edx, dword [esp + 0x160]
mov dword [esp + 0x164], ebx
mov word [edx], bx
mov edi, dword [esi + 4]
add edi, 1
cmp edi, dword [esp + 0x168]
je 0x462e39
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b74d1
add esp, 4
cmp dword [esp + 0x168], ebx
mov esi, eax
jle 0x462e1c
xor eax, eax
cmp dword [esp + 0x164], ebx
jle 0x462e0c
mov ecx, dword [esp + 0x160]
mov dx, word [ecx + eax*2]
mov word [esi + eax*2], dx
add eax, 1
cmp eax, dword [esp + 0x164]
jl 0x462df1
mov eax, dword [esp + 0x160]
push eax
call fcn.004b88f2
add esp, 4
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x160], esi
mov word [esi + ecx*2], bx
mov esi, dword [esp + 0x14]
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 0x462e42
mov edx, dword [esi + 4]
mov dword [esp + 0x164], edx
mov byte [esp + 0x15c], 1
jmp 0x462e7f
mov eax, dword [esp + 0x160]
mov byte [esp + 0x15c], bl
mov dword [esp + 0x164], ebx
mov word [eax], bx
lea ecx, [esp + 0x130]
push ecx
lea edx, [esp + 0x2e8]
push edx
call fcn.00452e90
mov ecx, dword [esp + 0x6c]
mov byte [esp + 0x408], 9
cmp ecx, dword [esp + 0x28]
jge 0x4637db
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x64], ecx
jmp 0x462ec4
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
cmp dword [edx + ecx + 4], eax
jne 0x4637db
mov eax, dword [edx + ecx]
mov edi, dword [ebp + 0xc]
lea ecx, [edx + ecx + 8]
mov edx, dword [edi + 0x5c]
add eax, eax
add eax, eax
mov dword [esp + 0x70], ecx
mov ecx, dword [ecx]
cmp ecx, dword [eax + edx]
mov dword [esp + 0x38], eax
jne 0x4630a4
mov edx, dword [edi + 0x190]
mov edx, dword [eax + edx]
mov ecx, dword [edi + 0x48]
mov eax, dword [eax + ecx]
mov eax, dword [eax + 0x30]
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x14], eax
jle 0x462f51
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*8]
mov edx, dword [eax]
add dword [esp + 0x94], edx
mov edx, dword [eax + 4]
adc dword [esp + 0x98], edx
add ecx, 1
add eax, 8
cmp ecx, dword [esp + 0x14]
jl 0x462f2e
mov edx, dword [esp + 0x44]
mov ecx, dword [edi + 0x17c]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
add eax, dword [edi + 0x148]
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + 0x50]
adc ecx, dword [edi + 0x14c]
push ebx
push ebx
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 8]
mov esi, dword [edx]
push ecx
push eax
mov eax, dword [esi + 0x10]
push edx
call eax
cmp eax, ebx
mov esi, dword [esp + 0x3c]
jne 0x462fac
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x14]
push esi
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
call fcn.00460ac0
add esp, 0x10
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x463f92
mov ecx, dword [esp + 0x94]
add dword [esi + 0x18], ecx
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x38]
adc dword [esi + 0x1c], edx
mov ecx, dword [edi + 0x48]
mov ecx, dword [eax + ecx]
cmp dword [ecx + 0x30], ebx
mov edx, dword [edi + 0x190]
mov eax, dword [eax + edx]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x14], ebx
jle 0x463093
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x44], eax
mov ecx, dword [edi + 0xc]
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x178], eax
mov eax, dword [esi + 4]
cmp dword [esi + 8], eax
mov dword [esp + 0x174], edx
jne 0x463043
cmp eax, 0x40
mov ecx, 1
jl 0x46302e
mov ecx, eax
shr ecx, 2
jmp 0x463038
cmp eax, 8
jl 0x463038
mov ecx, 8
lea edi, [eax + ecx]
call fcn.0044cc10
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x174]
mov dword [eax + ecx*8], edx
mov edx, dword [esp + 0x178]
mov dword [eax + ecx*8 + 4], edx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
add dword [esi + 8], 1
add edx, 1
add eax, 8
cmp edx, dword [ecx + 0x30]
mov dword [esp + 0x14], edx
mov dword [esp + 0x44], eax
jl 0x462ffa
push ecx
lea ecx, [esi + 0x3c]
call fcn.0045db90
jmp 0x463557
mov esi, dword [ebp + 0x18]
push ecx
lea ecx, [esi + 0x3c]
call fcn.0045db90
jmp 0x463557
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push ebx
push 1
push 1
push ebx
call esi
cmp eax, ebx
mov dword [esp + 0x74], eax
jne 0x4630d7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x463103
mov eax, 1
jmp 0x463103
push ebx
push ebx
push 1
push ebx
call esi
cmp eax, ebx
mov dword [esp + 0x78], eax
je 0x4630c6
push ebx
push ebx
push 1
push ebx
call esi
cmp eax, ebx
mov dword [esp + 0x7c], eax
jne 0x46310d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
je 0x463f65
mov esi, eax
cmp esi, ebx
jne 0x463f6a
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], ebx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x44]
push ecx
lea esi, [esp + 0x7c]
mov byte [esp + 0x410], 0xc
call fcn.0043f870
xor esi, esi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], 1
mov dword [esp + 0xd4], vtable.CRecordVector_bool_.0
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x408], 0xd
mov edx, dword [edi + 0x5c]
mov eax, dword [ecx + edx]
cmp eax, ebx
mov edx, dword [edi + 0x1a4]
mov ecx, dword [ecx + edx]
mov dword [esp + 0x14], eax
mov dword [esp + 0x44], ebx
jbe 0x463245
lea eax, [ecx*4]
mov dword [esp + 0x68], eax
mov ecx, eax
lea edi, [esi + 1]
jmp 0x4631a7
mov esi, dword [esp + 0xd8]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x70]
mov eax, dword [ecx + eax]
cmp byte [eax + 0x1c], bl
mov byte [esp + 0x37], bl
je 0x4631db
mov edx, dword [esp + 0x5c]
mov eax, dword [edx + ecx]
add dword [esp + 0x44], edi
cmp eax, ebx
jl 0x4631db
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x38], bl
jne 0x4631db
mov byte [esp + 0x37], 1
cmp dword [esp + 0xdc], esi
jne 0x463214
cmp esi, 0x40
mov eax, edi
jl 0x4631f2
mov eax, esi
shr eax, 2
jmp 0x4631fc
cmp esi, 8
jl 0x4631fc
mov eax, 8
lea edi, [esi + eax]
lea esi, [esp + 0xd4]
call fcn.0044cc10
mov ecx, dword [esp + 0x68]
mov edi, 1
mov al, byte [esp + 0x37]
mov esi, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov byte [edx + esi], al
mov eax, dword [esp + 0x44]
add dword [esp + 0xdc], edi
add ecx, 4
cmp eax, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
jb 0x4631a0
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x1a4]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x230]
mov eax, dword [eax]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp eax, ebx
lea ecx, [esp + 0xd4]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
je 0x46327f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
je 0x463292
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push ecx
call eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x18], eax
mov eax, esi
mov dword [esi + 0x20], ebx
mov byte [esi + 0x24], bl
call fcn.00461910
mov esi, eax
cmp esi, ebx
jne 0x464123
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4632c0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], ebx
mov esi, dword [ebp + 8]
cmp esi, ebx
je 0x4632cf
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov eax, dword [esp + 0x22c]
cmp eax, ebx
je 0x4632e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [edi + 0x48]
mov eax, dword [esp + 0x38]
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 0x463359
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [ebp + 0x18]
mov edi, dword [esi + 8]
mov ecx, 4
mov eax, 8
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], ecx
mov dword [esp + method.CObjectVector_struct_NArchive::N7z::CCoderInfo_.virtual_0], vtable.CObjectVector_struct_NArchive::N7z::CCoderInfo_.0
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], eax
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_struct_NArchive::N7z::CBindPair_.0
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], ecx
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_int_.0
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d8], eax
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov byte [esp + 0x1e0], bl
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x14]
push edx
push esi
mov byte [esp + 0x410], 0xe
mov eax, dword [ecx + 0x50]
mov edx, dword [esp + 0x48]
push eax
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0xac]
push ecx
push edx
lea eax, [esp + 0x2fc]
push eax
call fcn.004520b0
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x464244
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 0x464411
cmp edi, dword [esi + 8]
jge 0x46348f
mov ecx, dword [esp + 0x3c]
mov eax, dword [esi + 0xc]
mov edx, dword [eax + edi*8]
add dword [ecx + 0x28], edx
mov eax, dword [eax + edi*8 + 4]
adc dword [ecx + 0x2c], eax
add edi, 1
cmp edi, dword [esi + 8]
jl 0x463477
lea edi, [esp + 0x18c]
call fcn.00454400
mov ecx, dword [esp + 0x3c]
add dword [ecx + 0x20], eax
adc dword [ecx + 0x24], edx
mov ecx, edi
push ecx
lea ecx, [esi + 0x3c]
call fcn.0045db90
mov edx, edi
push edx
mov byte [esp + 0x40c], 0xd
call fcn.004582a0
mov byte [esp + 0x408], 0xc
mov eax, dword [esp + 0xdc]
push eax
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xdc], vtable.CBaseRecordVector.0
call dword [0x4f42d8]
mov ecx, dword [esp + 0xe0]
push ecx
call fcn.004b88f2
add esp, 4
mov byte [esp + 0x408], 0xb
cmp dword [esp + 0x40], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
je 0x463528
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x408], 0xa
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x463540
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea esi, [esp + 0x74]
mov byte [esp + 0x408], 9
call fcn.00441090
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov eax, dword [esi + 0x54]
add esi, 0x50
cmp dword [esi + 8], eax
mov dword [esp + 0x70], ecx
jne 0x463592
cmp eax, 0x40
mov ecx, 1
jl 0x46357d
mov ecx, eax
shr ecx, 2
jmp 0x463587
cmp eax, 8
jl 0x463587
mov ecx, 8
lea edi, [eax + ecx]
call fcn.0044cc10
mov edi, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0x70]
mov eax, dword [esi + 0xc]
mov dword [eax + edx*4], ecx
add dword [esi + 8], 1
mov edx, dword [edi + 0x5c]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + edx]
cmp eax, ebx
mov edx, dword [edi + 0x1a4]
mov edi, dword [ecx + edx]
mov dword [esp + 0x70], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x14], edi
jbe 0x4637c1
lea ebx, [ebx]
push 4
lea esi, [esp + 0x88]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
call fcn.0043d9c0
mov byte [esp + 0x90], 1
mov byte [esp + 0x91], bl
mov byte [esp + 0x92], bl
mov byte [esp + 0x93], bl
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x74]
push eax
push ecx
lea ebx, [esp + 0x1f4]
mov esi, edi
mov byte [esp + 0x410], 0xf
call fcn.00460350
xor ebx, ebx
cmp byte [esp + 0x90], bl
je 0x46378e
mov edx, dword [esp + 0x5c]
mov eax, dword [edx + edi*4]
add dword [esp + 0x44], 1
cmp eax, ebx
jl 0x46378e
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov edi, dword [edx + eax*4]
cmp byte [edi + 0x38], bl
jne 0x46378e
cmp byte [edi + 0x39], bl
je 0x46377a
push 4
lea esi, [esp + 0xe8]
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
call fcn.0043d9c0
mov byte [esp + 0xf0], 1
mov byte [esp + 0xf1], bl
mov byte [esp + 0xf2], bl
mov byte [esp + 0xf3], bl
lea ecx, [esp + 0x1ec]
push ecx
lea ebx, [esp + 0xd8]
mov esi, edi
mov byte [esp + 0x40c], 0x10
call fcn.004615f0
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
mov bl, byte [esp + 0x96]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xd8], edx
movzx edx, byte [esp + 0x94]
mov dword [esp + 0x80], eax
add esp, 4
lea edi, [esp + 0xe4]
lea eax, [esp + 0x84]
mov dword [esp + 0xe0], ecx
mov byte [esp + 0xf2], bl
mov byte [esp + 0xf0], dl
call fcn.00443cc0
mov cl, byte [esp + 0xf0]
movzx edx, byte [esp + 0xf1]
mov al, byte [esp + 0xf3]
mov byte [esp + 0x90], cl
mov byte [esp + 0x408], 0xf
mov ecx, dword [esp + 0xe4]
push ecx
mov byte [esp + 0x95], dl
mov byte [esp + 0x96], bl
mov byte [esp + 0x97], al
call fcn.004b88f2
add esp, 4
mov edi, dword [ebp + 0x18]
lea edx, [esp + 0x74]
push edx
lea esi, [esp + 0x1f0]
call fcn.004604b0
mov byte [esp + 0x408], 9
mov eax, dword [esp + 0x84]
push eax
call fcn.004b88f2
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x48]
add edi, 1
add esp, 4
xor ebx, ebx
cmp ecx, dword [esp + 0x70]
mov dword [esp + 0x14], edi
jb 0x4635d0
mov eax, dword [esp + 0x6c]
add dword [esp + 0x64], 0xc
add eax, 1
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
jl 0x462ec0
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 8]
cmp eax, ebx
mov dword [esp + 0x68], eax
jne 0x46381e
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x40c], 8
call fcn.00453720
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.00452f80
mov esi, vtable.CBaseRecordVector.0
jmp 0x463f21
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 0x14
mov dword [esp + 0xac], 0x4f4e4c
mov edi, dword [esp + 0x68]
lea esi, [esp + 0xac]
mov byte [esp + 0x408], 0x11
call fcn.0044cc10
cmp dword [esp + 0x100], ebx
ja 0x463874
cmp dword [esp + 0xfc], 1
jbe 0x46387e
mov byte [esp + 0x12c], 1
jmp 0x463885
mov byte [esp + 0x12c], bl
xor esi, esi
cmp edi, ebx
jle 0x4638f2
nop
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + esi*4]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x12c]
lea eax, [eax + esi*4]
mov eax, dword [eax]
push edx
push eax
lea edx, [esp + 0xdc]
push edx
call fcn.00460ff0
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 + 0xc0]
call fcn.00464ef0
add esi, 1
cmp esi, edi
jl 0x463890
lea ecx, [esp + 0x12c]
push ecx
lea eax, [esp + 0xb0]
call fcn.00464f60
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], 4
mov dword [esp + 0xc0], vtable.CRecordVector_unsigned_int_.0
mov edi, dword [esp + 0x68]
lea esi, [esp + 0xc0]
mov byte [esp + 0x408], 0x12
call fcn.0044cc10
cmp edi, ebx
jle 0x4639d4
mov edx, edi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x4c], edx
mov eax, 1
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x64]
mov ecx, dword [ecx + edx + 4]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xc4]
cmp dword [esp + 0xc8], ecx
jne 0x4639ad
cmp ecx, 0x40
jl 0x46398f
mov eax, ecx
shr eax, 2
jmp 0x463999
cmp ecx, 8
jl 0x463999
mov eax, 8
lea edi, [ecx + eax]
lea esi, [esp + 0xc0]
call fcn.0044cc10
mov eax, 1
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x70]
add dword [esp + 0x64], 0x14
mov dword [edx + esi*4], ecx
add dword [esp + 0xc8], eax
sub dword [esp + 0x4c], eax
jne 0x463960
cmp dword [esp + 0x68], ebx
mov dword [esp + 0x1c], ebx
jle 0x463e5e
jmp 0x4639f0
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.0043d9c0
mov byte [esp + 0x408], 0x13
mov edi, dword [esp + 0x1c]
xor esi, esi
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x40], esi
jge 0x463b47
lea ecx, [ecx]
mov eax, esi
cdq
cmp edx, dword [esp + 0x100]
ja 0x463b42
jb 0x463a5f
cmp eax, dword [esp + 0xfc]
jae 0x463b42
mov eax, dword [esp + 0xcc]
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]
cmp eax, dword [edx + 0x1c]
mov dword [esp + 0x170], eax
ja 0x463b42
jb 0x463ab0
mov eax, dword [esp + 0x16c]
cmp eax, dword [edx + 0x18]
ja 0x463b42
cmp byte [edx + 0x20], bl
je 0x463b17
lea eax, [esp + 0x104]
call fcn.00460cc0
mov byte [esp + 0x408], 0x14
cmp esi, ebx
mov esi, dword [esp + 0x104]
jne 0x463ae9
lea edi, [esp + 0x104]
lea eax, [esp + 0x17c]
call fcn.00443cc0
jmp 0x463afe
mov ecx, dword [esp + 0x17c]
push ecx
push esi
call fcn.0044cb60
add esp, 8
test eax, eax
jne 0x463b2d
push esi
mov byte [esp + 0x40c], 0x13
call fcn.004b88f2
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x44]
add esp, 4
add esi, 1
lea edx, [esi + edi]
cmp edx, dword [esp + 0x68]
mov dword [esp + 0x40], esi
jl 0x463a40
jmp 0x463b42
push esi
mov byte [esp + 0x40c], 0x13
call fcn.004b88f2
mov esi, dword [esp + 0x44]
add esp, 4
cmp esi, 1
jge 0x463b4f
mov dword [esp + 0x40], 1
push 0x78
call fcn.004b9230
add esp, 4
mov dword [esp + 0x70], eax
cmp eax, ebx
mov byte [esp + 0x408], 0x15
je 0x463b77
push eax
call fcn.00455450
mov esi, eax
mov dword [esp + 0x38], esi
jmp 0x463b7d
mov dword [esp + 0x38], ebx
mov esi, ebx
cmp esi, ebx
mov byte [esp + 0x408], 0x13
mov dword [esp + 0xa4], esi
je 0x463b98
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov edi, dword [ebp + 0x20]
mov byte [esp + 0x408], 0x16
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0xcc]
add eax, eax
add eax, eax
push edx
add ecx, eax
push ecx
mov dword [esp + 0x78], eax
call fcn.00455540
lea eax, [esp + 0x18c]
call fcn.00459a60
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 + 0x40]
push eax
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0xac]
push ecx
push edx
lea eax, [esp + 0x2fc]
push eax
call fcn.004520b0
cmp eax, ebx
mov dword [esp + 0x4c], eax
jne 0x4644ce
mov ecx, dword [ebp + 0x18]
cmp edi, dword [ecx + 8]
jge 0x463c38
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
add edi, 1
cmp edi, dword [ecx + 8]
jl 0x463c20
lea edi, [esp + 0x18c]
call fcn.00454400
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.0045db90
xor edi, edi
cmp dword [esp + 0x40], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x4c], edi
jle 0x463df3
mov edx, dword [esp + 0x70]
mov dword [esp + 0x44], edx
jmp 0x463c80
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x44]
mov edx, dword [eax + ecx]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4]
push 4
lea esi, [esp + 0x88]
mov dword [esp + 0x68], edx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
call fcn.0043d9c0
mov byte [esp + 0x90], 1
mov byte [esp + 0x91], bl
mov byte [esp + 0x92], bl
mov byte [esp + 0x93], bl
mov eax, dword [esp + 0x64]
mov byte [esp + 0x408], 0x18
cmp byte [eax + 0x39], bl
je 0x463d04
lea ecx, [esp + 0xd4]
push ecx
lea ebx, [esp + 0x78]
mov esi, eax
call fcn.004615f0
add esp, 4
jmp 0x463d1f
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x64]
mov esi, dword [ecx]
lea edx, [esp + 0x74]
push edx
push eax
lea ebx, [esp + 0xdc]
call fcn.00460350
xor ebx, ebx
cmp byte [esp + 0xf8], bl
jne 0x464682
cmp byte [esp + 0x91], bl
jne 0x464682
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x48]
cmp byte [edi + edx], bl
jne 0x463d61
mov byte [esp + 0x408], 0x17
mov eax, dword [esp + 0x84]
push eax
call fcn.004b88f2
jmp 0x463dd8
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 + 0x74], eax
or eax, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x78], ecx
je 0x463d9d
mov eax, 1
add dword [esp + 0x14], eax
mov byte [esp + 0x92], al
mov byte [esp + 0x90], al
jmp 0x463dab
mov byte [esp + 0x92], bl
mov byte [esp + 0x90], bl
mov edi, dword [ebp + 0x18]
lea eax, [esp + 0x74]
push eax
lea esi, [esp + 0xd8]
call fcn.004604b0
mov byte [esp + 0x408], 0x17
mov ecx, dword [esp + 0x84]
push ecx
call fcn.004b88f2
mov edi, dword [esp + 0x50]
add dword [esp + 0x48], 4
add edi, 1
add esp, 4
xor ebx, ebx
cmp edi, dword [esp + 0x40]
mov dword [esp + 0x4c], edi
jl 0x463c80
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x18]
push edx
add eax, 0x50
call fcn.0045dda0
mov esi, dword [esp + 0x1c]
add esi, dword [esp + 0x40]
lea eax, [esp + 0x18c]
push eax
mov dword [esp + 0x20], esi
mov byte [esp + 0x40c], 0x16
call fcn.004582a0
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov byte [esp + 0x408], 0x13
je 0x463e3c
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.004b88f2
add esp, 4
cmp esi, dword [esp + 0x68]
jl 0x4639f0
mov byte [esp + 0x408], 0x11
mov ecx, dword [esp + 0xc8]
push ecx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], esi
call dword [0x4f42d8]
mov edx, dword [esp + 0xcc]
push edx
call fcn.004b88f2
mov byte [esp + 0x40c], 9
mov eax, dword [esp + 0xb8]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0xb4]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xb4], esi
call dword [0x4f42d8]
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.004b88f2
add esp, 4
lea edx, [esp + 0x2e4]
push edx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov byte [esp + 0x40c], 8
call fcn.00453720
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.00452f80
mov eax, dword [esp + 0x48]
add eax, 1
cmp eax, 4
mov dword [esp + 0x48], eax
jl 0x462b80
mov ecx, dword [esp + 0x6c]
cmp ecx, dword [esp + 0x28]
je 0x46484b
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea eax, [esp + 0x214]
push eax
jmp 0x4647af
mov esi, 1
mov eax, dword [esp + 0x7c]
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x464075
push eax
call edi
test eax, eax
jne 0x464075
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x464079
lea ecx, [esp + 0x2e4]
push ecx
mov byte [esp + 0x40c], 8
call fcn.00453720
lea edx, [esp + 0x130]
push edx
mov byte [esp + 0x40c], 4
call fcn.00452f80
lea eax, [esp + 0x118]
push eax
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.00464af0
mov byte [esp + 0x408], 1
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
mov byte [esp + 0x408], bl
mov ecx, dword [esp + 0x28]
push ecx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4f42d8]
mov edx, dword [esp + 0x2c]
push edx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], esi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.004b88f2
mov eax, dword [esp + 0x18]
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 + 0x7c], ebx
mov eax, dword [esp + 0x78]
cmp eax, ebx
je 0x464090
push eax
call edi
test eax, eax
jne 0x464090
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x464094
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x4640ab
push eax
call edi
test eax, eax
jne 0x4640ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4640af
mov dword [esp + 0x74], ebx
lea edx, [esp + 0x2e4]
push edx
mov byte [esp + 0x40c], 8
call fcn.00453720
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.00452f80
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.00464af0
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 0x462261
mov byte [esp + 0x408], 0xc
mov ecx, dword [esp + 0xdc]
push ecx
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xdc], vtable.CBaseRecordVector.0
call dword [0x4f42d8]
mov edx, dword [esp + 0xe0]
push edx
call fcn.004b88f2
mov byte [esp + 0x40c], 0xb
mov eax, dword [esp + 0x44]
add esp, 4
cmp eax, ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
je 0x464189
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], 0xa
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4641a1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x7c]
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x4641be
push eax
call edi
test eax, eax
jne 0x4641be
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4641c2
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x78]
cmp eax, ebx
je 0x4641d9
push eax
call edi
test eax, eax
jne 0x4641d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4641dd
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x4641f4
push eax
call edi
test eax, eax
jne 0x4641f4
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4641f8
mov dword [esp + 0x74], ebx
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x40c], 8
call fcn.00453720
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.00452f80
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea eax, [esp + 0x214]
push eax
jmp 0x4640f6
lea ecx, [esp + 0x18c]
push ecx
mov byte [esp + 0x40c], 0xd
call fcn.004582a0
mov byte [esp + 0x408], 0xc
mov edx, dword [esp + 0xdc]
push edx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xdc], edi
call dword [0x4f42d8]
mov eax, dword [esp + 0xe0]
push eax
call fcn.004b88f2
mov byte [esp + 0x40c], 0xb
mov eax, dword [esp + 0x44]
add esp, 4
cmp eax, ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
je 0x4642c0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], 0xa
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4642d8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x7c]
cmp eax, ebx
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x4642f5
push eax
call esi
test eax, eax
jne 0x4642f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4642f9
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x78]
cmp eax, ebx
je 0x464310
push eax
call esi
test eax, eax
jne 0x464310
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x464314
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x46432b
push eax
call esi
test eax, eax
jne 0x46432b
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46432f
mov dword [esp + 0x74], ebx
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x40c], 8
call fcn.00453720
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.00452f80
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.00464af0
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 + 0x28]
push eax
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x5c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], edi
call dword [0x4f42d8]
mov eax, dword [esp + 0x5c]
push eax
call fcn.004b88f2
mov eax, dword [esp + 0x18]
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 + 0x18c]
push ecx
mov esi, eax
mov byte [esp + 0x40c], 0xd
call fcn.004582a0
mov byte [esp + 0x408], 0xc
mov edx, dword [esp + 0xdc]
push edx
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xdc], vtable.CBaseRecordVector.0
call dword [0x4f42d8]
mov eax, dword [esp + 0xe0]
push eax
call fcn.004b88f2
mov byte [esp + 0x40c], 0xb
mov eax, dword [esp + 0x44]
add esp, 4
cmp eax, ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
je 0x46448e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x408], 0xa
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4644a6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x7c]
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x4641be
push eax
call edi
test eax, eax
jne 0x4641be
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4641c2
lea ecx, [esp + 0x18c]
push ecx
mov byte [esp + 0x40c], 0x16
call fcn.004582a0
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov byte [esp + 0x408], 0x13
je 0x4644fb
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0x17c]
push ecx
call fcn.004b88f2
mov byte [esp + 0x40c], 0x11
mov edx, dword [esp + 0xcc]
add esp, 4
push edx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], edi
call dword [0x4f42d8]
mov eax, dword [esp + 0xcc]
push eax
call fcn.004b88f2
mov byte [esp + 0x40c], 9
mov ecx, dword [esp + 0xb8]
add esp, 4
push ecx
push ebx
lea ecx, [esp + 0xb4]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xb4], edi
call dword [0x4f42d8]
mov edx, dword [esp + 0xb8]
push edx
call fcn.004b88f2
add esp, 4
lea eax, [esp + 0x2e4]
push eax
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov byte [esp + 0x40c], 8
call fcn.00453720
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.00452f80
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.00464af0
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 + 0x28]
push eax
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x5c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], edi
call dword [0x4f42d8]
mov eax, dword [esp + 0x5c]
push eax
call fcn.004b88f2
mov eax, dword [esp + 0x50]
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 + 0x84]
push ecx
call fcn.004b88f2
add esp, 4
lea edx, [esp + 0x18c]
push edx
mov byte [esp + 0x40c], 0x16
call fcn.004582a0
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov byte [esp + 0x408], 0x13
je 0x4646bf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x17c]
push eax
call fcn.004b88f2
mov byte [esp + 0x40c], 0x11
mov ecx, dword [esp + 0xcc]
add esp, 4
push ecx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], esi
call dword [0x4f42d8]
mov edx, dword [esp + 0xcc]
push edx
call fcn.004b88f2
mov byte [esp + 0x40c], 9
mov eax, dword [esp + 0xb8]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0xb4]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xb4], esi
call dword [0x4f42d8]
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.004b88f2
add esp, 4
lea edx, [esp + 0x2e4]
push edx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov byte [esp + 0x40c], 8
call fcn.00453720
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.00452f80
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.00464af0
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 + 0x28]
push eax
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x5c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], esi
call dword [0x4f42d8]
mov eax, dword [esp + 0x5c]
push eax
call fcn.004b88f2
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 0x4648d7
jmp 0x464890
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + edi*4]
cmp byte [eax + 0x38], bl
je 0x4648ad
cmp byte [eax + 0x3b], bl
jne 0x4648c2
cmp byte [eax + 0x3a], bl
jne 0x4648c2
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
jmp 0x4648c0
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x4648c2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x1c], bl
jne 0x4648cf
push edi
lea eax, [esp + 0x108]
call fcn.0045dda0
add edi, 1
cmp edi, dword [esi + 8]
jl 0x464890
push esi
lea eax, [esp + 0x108]
call fcn.00464c10
mov eax, dword [esp + 0x10c]
cmp eax, ebx
mov dword [esp + 0x1c], ebx
jle 0x4649db
jmp 0x464903
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
mov edi, dword [eax + edx*4]
push 4
lea esi, [esp + 0x88]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
call fcn.0043d9c0
mov byte [esp + 0x90], 1
mov byte [esp + 0x91], bl
mov byte [esp + 0x92], bl
mov byte [esp + 0x93], bl
mov byte [esp + 0x408], 0x1a
cmp byte [edi + 0x39], bl
je 0x46497c
lea ecx, [esp + 0x1ec]
push ecx
lea ebx, [esp + 0x78]
mov esi, edi
call fcn.004615f0
add esp, 4
jmp 0x464993
mov eax, dword [ebp + 0xc]
mov esi, dword [edi]
lea edx, [esp + 0x74]
push edx
push eax
lea ebx, [esp + 0x1f4]
call fcn.00460350
mov edi, dword [ebp + 0x18]
lea ecx, [esp + 0x74]
push ecx
lea esi, [esp + 0x1f0]
call fcn.004604b0
mov byte [esp + 0x408], 0x19
mov edx, dword [esp + 0x84]
push edx
call fcn.004b88f2
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x110]
add ecx, 1
add esp, 4
xor ebx, ebx
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jl 0x464900
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 [0x4f42d8]
mov eax, dword [esp + 0x110]
push eax
call fcn.004b88f2
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.00460a00
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.00464cf0
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.00464af0
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 + 0x28]
push eax
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4f42d8]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004b88f2
mov dword [esp + 0x40c], 0xffffffff
mov edx, dword [esp + 0x5c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], esi
call dword [0x4f42d8]
mov eax, dword [esp + 0x5c]
push eax
call fcn.004b88f2
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