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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x50d98b
mov eax, dword fs:[0]
push eax
sub esp, 0x3f0
push ebx
push esi
push edi
mov eax, dword [0x53c1a4]
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 0x4d306f
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], eax
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x4d30d5
mov edi, dword [ebx + 0x13c]
mov eax, dword [ebx + 0x138]
mov dword [esp + 0x18c], eax
test edi, edi
ja 0x4d3091
test eax, eax
jbe 0x4d30d5
mov eax, dword [ebp + 0x24]
cmp byte [eax + 0x21], 0
jne 0x4d30d5
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 0x4d5dc8
mov ecx, dword [ebp + 0x1c]
push eax
mov eax, dword [esp + 0x190]
push edi
push eax
push ecx
mov ecx, esi
call fcn.004d1de0
add esp, 0x10
test eax, eax
jne 0x4d5dc8
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 0x4d33ee
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 0x6c]
lea esi, [esp + 0x44]
call fcn.004bdd40
mov eax, dword [ebp + 0xc]
xor ebx, ebx
cmp dword [eax + 0x6c], ebx
jle 0x4d31ad
nop
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x4c], ecx
jne 0x4d3191
cmp ecx, 0x40
mov eax, 1
jl 0x4d317b
mov eax, ecx
shr eax, 2
jmp 0x4d3185
cmp ecx, 8
jl 0x4d3185
mov eax, 8
lea edi, [eax + ecx]
lea esi, [esp + 0x44]
call fcn.004bdd40
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 0x4d3160
mov edx, dword [ebp + 0x10]
xor eax, eax
cmp dword [edx + 8], eax
jle 0x4d31d1
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + eax*4]
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x4d31cb
mov esi, dword [esp + 0x50]
mov dword [esi + ecx*4], eax
inc eax
cmp eax, dword [edx + 8]
jl 0x4d31b7
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x44], 0
mov dword [esp + 0x68], 0
jle 0x4d33df
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 0x4d33ca
mov ecx, dword [esp + 0x50]
lea edx, [ecx + eax*4]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0x70]
sub ebx, ecx
jmp 0x4d3230
mov ecx, dword [ebx + edx]
cmp byte [ecx + 0x1c], 0
je 0x4d3266
mov eax, dword [edx]
inc esi
test eax, eax
jl 0x4d3266
mov edi, dword [ebp + 0x10]
mov edi, dword [edi + 0xc]
mov eax, dword [edi + eax*4]
cmp byte [eax + 0x38], 0
jne 0x4d3266
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 0x4d3230
cmp dword [esp + 0x38], 0
je 0x4d33ca
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 0x4d32b8
mov edx, dword [ebx + 0xc]
lea ecx, [edx + eax*4]
jmp 0x4d32a0
mov edx, dword [ecx]
cmp dword [edx], 0x6f10701
jne 0x4d32b0
cmp dword [edx + 4], 0
je 0x4d331f
dec eax
sub ecx, 4
test eax, eax
jge 0x4d32a0
mov byte [esp + 0x17], 0
xor esi, esi
test edi, edi
jle 0x4d32ed
mov edx, dword [ebx + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, 0x3030103
jne 0x4d32d9
test eax, eax
je 0x4d3326
cmp ecx, 0x303011b
jne 0x4d32e5
test eax, eax
je 0x4d3326
inc esi
add edx, 4
cmp esi, edi
jl 0x4d32c6
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 0x4d3340
cmp eax, 0x40
mov ecx, 1
jl 0x4d332a
mov ecx, eax
shr ecx, 2
jmp 0x4d3334
mov byte [esp + 0x17], 1
jmp 0x4d32bd
mov al, 1
jmp 0x4d32ef
cmp eax, 8
jl 0x4d3334
mov ecx, 8
lea edi, [ecx + eax]
lea esi, [esp + 0x1c]
call fcn.004bdd40
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 0x4d3380
mov eax, dword [ebp + 0xc]
call fcn.004c5570
add dword [esp + 0x9c], eax
adc dword [esp + 0xa0], edx
jmp 0x4d33ca
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 0x4d33be
ja 0x4d33b0
cmp ecx, dword [esp + 0xfc]
jbe 0x4d33be
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
cmp byte [esp + 0x17], 0
je 0x4d33ca
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 0x4d31e6
mov edx, dword [ebp + 0xc]
push edx
lea eax, [esp + 0x20]
call fcn.004d5f60
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 0x4d3484
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x38], ecx
jmp 0x4d3420
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx]
cmp byte [ecx + 0x38], 0
je 0x4d346a
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 0x4d3454
cmp dword [esp + 0xf8], 0
je 0x4d345a
add esi, eax
adc edx, ecx
jmp 0x4d3468
cmp ecx, edx
jb 0x4d3468
ja 0x4d3464
cmp eax, esi
jbe 0x4d3468
mov esi, eax
mov edx, ecx
xor eax, eax
add dword [esp + 0x38], 4
inc ebx
cmp ebx, dword [esp + 0x40]
jl 0x4d3420
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], esi
mov ecx, dword [esp + 0x100]
cmp ecx, edx
jb 0x4d34b1
ja 0x4d349a
cmp dword [esp + 0xfc], esi
jbe 0x4d34b1
mov esi, dword [esp + 0xfc]
mov edx, ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], edx
cmp edx, eax
ja 0x4d34d1
jb 0x4d34bf
cmp esi, 0x10000
jae 0x4d34d1
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 0x4d3571
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 [0x52267c]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004eacff
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 [0x52267c]
mov eax, dword [esp + 0x50]
push eax
call fcn.004eacff
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.004eac13
add esp, 4
cmp eax, ebx
je 0x4d35b0
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 0x4d35b4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xfc], ebx
test ebx, ebx
je 0x4d35c7
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 0x4d35e6
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 0x4d35fd
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 0x522d60
push eax
call edx
lea eax, [esp + 0x214]
push eax
mov byte [ebx + 0x10], 1
call fcn.004d2de0
xor edi, edi
mov byte [esp + 0x408], 3
cmp dword [esp + 0x24], edi
je 0x4d36ef
lea esi, [esp + 0x214]
call fcn.004b11b0
mov esi, eax
cmp esi, edi
je 0x4d36ef
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 [0x52267c]
mov edx, dword [esp + 0x28]
push edx
call fcn.004eacff
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 [0x52267c]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004eacff
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.004d6070
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 [0x52267c]
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.004eacff
add esp, 4
sub esi, 1
jne 0x4d3720
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 0x4d37c2
cmp dword [eax + 0x1c], esi
je 0x4d37c7
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 0x4d38fc
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edi*4]
cmp byte [eax + 0x38], 0
je 0x4d38ee
cmp byte [eax + 0x3b], 0
jne 0x4d38ee
cmp byte [eax + 0x3a], 0
jne 0x4d38ee
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
je 0x4d38ee
xor bl, bl
cmp byte [esp + 0x17], bl
je 0x4d388a
lea edx, [eax + 0x28]
mov eax, dword [edx + 4]
test eax, eax
je 0x4d388a
mov ecx, dword [edx]
cmp word [ecx + eax*2 - 2], 0x2e
lea eax, [ecx + eax*2 - 2]
je 0x4d383d
jmp 0x4d3830
cmp eax, ecx
je 0x4d388a
sub eax, 2
cmp word [eax], 0x2e
jne 0x4d3830
sub eax, ecx
sar eax, 1
test eax, eax
jl 0x4d388a
inc eax
lea esi, [esp + 0x104]
call fcn.004b4fc0
mov edi, eax
xor esi, esi
mov eax, dword [esi + 0x53e310]
push eax
mov eax, dword [edi]
push eax
call fcn.004bdc90
add esp, 8
test eax, eax
je 0x4d38c5
add esi, 4
cmp esi, 0x14
jb 0x4d3856
xor bl, bl
mov ecx, dword [esp + 0x104]
push ecx
call fcn.004eacff
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 0x4d38df
cmp eax, 0x40
mov ecx, 1
jl 0x4d38c9
mov ecx, eax
shr ecx, 2
jmp 0x4d38d3
mov bl, 1
jmp 0x4d3876
cmp eax, 8
jl 0x4d38d3
mov ecx, 8
lea edi, [eax + ecx]
call fcn.004bdd40
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 0x4d37db
cmp byte [esp + 0x37], 0
mov dword [esp + 0x188], 0
je 0x4d3cfd
push 0x14
call fcn.004eac13
mov esi, eax
add esp, 4
mov dword [esp + 0x90], esi
mov byte [esp + 0x408], 6
test esi, esi
je 0x4d39a3
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.004e94db
add esp, 4
cmp dword [esi + 0x10], ebx
mov edi, eax
jle 0x4d398e
xor eax, eax
cmp dword [esi + 0xc], ebx
jle 0x4d3982
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 0x4d3971
mov eax, dword [esi + 8]
push eax
call fcn.004eacff
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 0x4d39a7
xor esi, esi
xor ebx, ebx
mov byte [esp + 0x408], 4
mov dword [esp + 0x188], esi
cmp esi, ebx
je 0x4d39c2
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov eax, dword [esp + 0x24c]
cmp eax, ebx
je 0x4d39d5
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 0x4d3a8d
add eax, 0x30
add esi, 8
mov dword [esp + 0x10], eax
cmp eax, esi
je 0x4d3cfd
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 0x4d3a6d
xor ecx, ecx
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004e94db
add esp, 4
cmp dword [esi + 8], 0
mov edi, eax
jle 0x4d3a5b
xor eax, eax
cmp dword [esi + 4], eax
jle 0x4d3a50
mov ecx, dword [esi]
mov dx, word [ecx + eax*2]
mov word [edi + eax*2], dx
inc eax
cmp eax, dword [esi + 4]
jl 0x4d3a40
mov eax, dword [esi]
push eax
call fcn.004eacff
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 0x4d3a71
mov edx, dword [edi + 4]
mov dword [esi + 4], edx
jmp 0x4d3cfd
mov eax, dword [ebp + 0x28]
cmp eax, ebx
jne 0x4d3b57
lea eax, [esp + 0x118]
push eax
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 [0x52267c]
mov edx, dword [esp + 0x28]
push edx
call fcn.004eacff
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 [0x52267c]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004eacff
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 0x4d3c41
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.004d5fe0
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 [0x52267c]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004eacff
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 [0x52267c]
mov eax, dword [esp + 0x50]
push eax
call fcn.004eacff
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 0x4d3c68
nop
inc ebx
cmp word [edx + ebx*2], 0
jne 0x4d3c60
lea eax, [ebx + 1]
cmp eax, dword [esi + 0x10]
je 0x4d3cd3
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.004e94db
add esp, 4
cmp dword [esi + 0x10], 0
mov edi, eax
jle 0x4d3cbd
xor eax, eax
cmp dword [esi + 0xc], eax
jle 0x4d3cb1
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 0x4d3ca0
mov eax, dword [esi + 8]
push eax
call fcn.004eacff
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 0x4d3cd6
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.004cf980
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x4d3dd1
lea eax, [esp + 0x118]
push eax
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 [0x52267c]
mov edx, dword [esp + 0x28]
push edx
call fcn.004eacff
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 [0x52267c]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004eacff
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 0x4d533d
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.004c2a30
test byte [esp + 0x68], 1
mov eax, dword [ebp + 0x24]
mov byte [esp + 0x408], 8
je 0x4d3e4e
movzx ecx, byte [eax + 9]
lea edx, [esp + 0x130]
push edx
mov edx, dword [eax]
push ecx
push edx
call fcn.004d25d0
add esp, 0xc
jmp 0x4d3fdc
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.004bdd40
mov edi, dword [esp + 0x58]
xor esi, esi
cmp dword [esp + 0x10], ebx
jle 0x4d3eb9
lea esp, [esp]
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + esi*4]
lea edx, [esp + 0x130]
call fcn.004c4b60
inc esi
cmp esi, dword [esp + 0x10]
jl 0x4d3ea0
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.004c53c0
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 0x4d3fdc
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 0x4d3fb8
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004e94db
add esp, 4
cmp dword [esp + 0x168], ebx
mov esi, eax
jle 0x4d3f99
xor eax, eax
cmp dword [esp + 0x164], ebx
jle 0x4d3f89
jmp 0x4d3f70
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 0x4d3f70
mov eax, dword [esp + 0x160]
push eax
call fcn.004eacff
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 0x4d3fc1
mov eax, dword [esi + 4]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x68]
shr ecx, 1
test cl, 1
je 0x4d40f6
cmp byte [esp + 0x15c], bl
jne 0x4d4110
mov esi, dword [esp + 0x188]
cmp esi, ebx
je 0x4d40ec
add esi, 8
lea edx, [esp + 0x160]
mov dword [esp + 0x10], esi
cmp esi, edx
je 0x4d40ec
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 0x4d40c8
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004e94db
add esp, 4
cmp dword [esp + 0x168], ebx
mov esi, eax
jle 0x4d40a9
xor eax, eax
cmp dword [esp + 0x164], ebx
jle 0x4d4099
jmp 0x4d4080
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 0x4d4080
mov eax, dword [esp + 0x160]
push eax
call fcn.004eacff
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 0x4d40d1
mov eax, dword [esi + 4]
mov dword [esp + 0x164], eax
mov byte [esp + 0x15c], 1
jmp 0x4d4110
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.004c4020
mov byte [esp + 0x408], 9
mov edx, dword [esp + 0x38]
cmp edx, dword [esp + 0x24]
jge 0x4d4a45
mov eax, edx
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
mov dword [esp + 0x58], eax
jmp 0x4d4154
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x68]
cmp dword [eax + ecx + 4], edx
jne 0x4d4a45
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 0x4d430a
mov eax, edi
call fcn.004c5570
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 0x4d420c
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.004d1de0
add esp, 0x10
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x4d51f2
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 0x4d42f5
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 0x4d42a6
cmp eax, 0x40
mov ecx, 1
jl 0x4d4291
mov ecx, eax
shr ecx, 2
jmp 0x4d429b
cmp eax, 8
jl 0x4d429b
mov ecx, 8
lea edi, [ecx + eax]
call fcn.004bdd40
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 0x4d425d
mov eax, edx
push eax
lea ecx, [esi + 0x3c]
call fcn.004ceed0
jmp 0x4d47f8
mov eax, dword [esp + 0x5c]
mov esi, dword [ebp + 0x18]
push eax
lea ecx, [esi + 0x3c]
call fcn.004ceed0
jmp 0x4d47f8
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 0x4d433d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x4d4369
mov eax, 1
jmp 0x4d4369
push ebx
push ebx
push 1
push ebx
call esi
mov dword [esp + 0x70], eax
cmp eax, ebx
je 0x4d432c
push ebx
push ebx
push 1
push ebx
call esi
mov dword [esp + 0x74], eax
cmp eax, ebx
jne 0x4d4373
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
je 0x4d51c5
mov esi, eax
cmp esi, ebx
jne 0x4d51ca
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.004b0bb0
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 0x4d44a3
lea eax, [ecx*4]
mov dword [esp + 0x60], eax
mov ecx, eax
jmp 0x4d4407
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 0x4d4438
mov eax, dword [esp + 0x50]
mov eax, dword [ecx + eax]
inc dword [esp + 0x5c]
cmp eax, ebx
jl 0x4d4438
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x38], bl
jne 0x4d4438
mov byte [esp + 0x37], 1
cmp dword [esp + 0xd4], esi
jne 0x4d4472
cmp esi, 0x40
mov eax, 1
jl 0x4d4452
mov eax, esi
shr eax, 2
jmp 0x4d445c
cmp esi, 8
jl 0x4d445c
mov eax, 8
lea edi, [eax + esi]
lea esi, [esp + 0xcc]
call fcn.004bdd40
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 0x4d4400
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 0x4d44da
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 0x4d44ed
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.004d2c30
mov esi, eax
cmp esi, ebx
jne 0x4d5387
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x4d451b
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 0x4d452a
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov eax, dword [esp + 0x22c]
cmp eax, ebx
je 0x4d453d
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 0x4d45b4
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.004c3250
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x4d54a8
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 0x4d5675
mov ecx, dword [ebp + 0x18]
cmp edi, dword [ecx + 8]
jge 0x4d46e7
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 0x4d46d1
lea edi, [esp + 0x194]
call fcn.004c5510
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.004ceed0
mov edx, edi
push edx
mov byte [esp + 0x40c], 0xd
call fcn.004c95b0
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 [0x52267c]
mov ecx, dword [esp + 0xd8]
push ecx
call fcn.004eacff
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 0x4d4781
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 0x4d4799
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 0x4d47be
push eax
call esi
test eax, eax
jne 0x4d47be
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d47c2
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x4d47d9
push eax
call esi
test eax, eax
jne 0x4d47d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d47dd
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x4d47f2
push eax
call esi
test eax, eax
jne 0x4d47f2
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.004cf0e0
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 0x4d4a2d
jmp 0x4d4840
push 4
lea esi, [esp + 0x80]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
call fcn.004aedb0
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.004d1680
xor ebx, ebx
cmp byte [esp + 0x88], bl
je 0x4d4a04
mov eax, dword [esp + 0x50]
inc dword [esp + 0x5c]
mov ecx, esi
mov eax, dword [eax + ecx*4]
cmp eax, ebx
jl 0x4d4a04
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 0x4d4a04
cmp byte [eax + 0x39], bl
je 0x4d49ed
push 4
lea esi, [esp + 0xe0]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
call fcn.004aedb0
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.004d2910
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.004b4f40
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.004eacff
add esp, 4
mov edi, dword [ebp + 0x18]
lea ecx, [esp + 0x6c]
push ecx
lea esi, [esp + 0x1f0]
call fcn.004d17e0
mov edi, dword [ebp + 0xc]
mov byte [esp + 0x408], 9
mov edx, dword [esp + 0x7c]
push edx
call fcn.004eacff
mov eax, dword [esp + 0x14]
inc dword [esp + 0x34]
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x5c], eax
jb 0x4d4840
mov eax, dword [esp + 0x38]
add dword [esp + 0x58], 0xc
inc eax
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
jl 0x4d4150
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 8]
mov dword [esp + 0x60], eax
cmp eax, ebx
jne 0x4d4a88
lea edx, [esp + 0x2e4]
push edx
mov byte [esp + 0x40c], 8
call fcn.004c48c0
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.004c4110
mov esi, vtable.CBaseRecordVector.0
jmp 0x4d5183
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], 0x14
mov dword [esp + 0xa4], 0x522bfc
mov edi, dword [esp + 0x60]
lea esi, [esp + 0xa4]
mov byte [esp + 0x408], 0x11
call fcn.004bdd40
cmp dword [esp + 0xf8], ebx
ja 0x4d4ade
cmp dword [esp + 0xf4], 1
jbe 0x4d4ae8
mov byte [esp + 0x12c], 1
jmp 0x4d4aef
mov byte [esp + 0x12c], bl
xor esi, esi
cmp edi, ebx
jle 0x4d4b55
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.004d2300
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.004d61e0
inc esi
cmp esi, edi
jl 0x4d4af5
lea ecx, [esp + 0x12c]
push ecx
lea eax, [esp + 0xa8]
call fcn.004d6250
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.004bdd40
cmp edi, ebx
jle 0x4d4c4a
mov edx, edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x40], edx
mov eax, 1
jmp 0x4d4bd0
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 0x4d4c20
cmp ecx, 0x40
jl 0x4d4c02
mov eax, ecx
shr eax, 2
jmp 0x4d4c0c
cmp ecx, 8
jl 0x4d4c0c
mov eax, 8
lea edi, [eax + ecx]
lea esi, [esp + 0xb8]
call fcn.004bdd40
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 0x4d4bd0
cmp dword [esp + 0x60], ebx
mov dword [esp + 0x18], ebx
jle 0x4d50c0
jmp 0x4d4c60
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.004aedb0
mov byte [esp + 0x408], 0x13
mov edi, dword [esp + 0x18]
xor esi, esi
cmp edi, dword [esp + 0x60]
mov dword [esp + 0x64], esi
jge 0x4d4db5
lea ecx, [ecx]
mov eax, esi
cdq
cmp edx, dword [esp + 0xf8]
ja 0x4d4db0
jb 0x4d4ccf
cmp eax, dword [esp + 0xf4]
jae 0x4d4db0
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 0x4d4db0
jb 0x4d4d20
mov eax, dword [esp + 0x16c]
cmp eax, dword [edx + 0x18]
ja 0x4d4db0
cmp byte [edx + 0x20], bl
je 0x4d4d87
lea eax, [esp + 0x104]
call fcn.004d1fe0
mov byte [esp + 0x408], 0x14
cmp esi, ebx
mov esi, dword [esp + 0x104]
jne 0x4d4d59
lea edi, [esp + 0x104]
lea eax, [esp + 0x17c]
call fcn.004b4f40
jmp 0x4d4d6e
mov ecx, dword [esp + 0x17c]
push ecx
push esi
call fcn.004bdc90
add esp, 8
test eax, eax
jne 0x4d4d9b
push esi
mov byte [esp + 0x40c], 0x13
call fcn.004eacff
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 0x4d4cb0
jmp 0x4d4db0
push esi
mov byte [esp + 0x40c], 0x13
call fcn.004eacff
mov esi, dword [esp + 0x68]
add esp, 4
cmp esi, 1
jge 0x4d4dbd
mov dword [esp + 0x64], 1
push 0x78
call fcn.004eac13
add esp, 4
mov dword [esp + 0x90], eax
mov byte [esp + 0x408], 0x15
cmp eax, ebx
je 0x4d4de8
push eax
call fcn.004c65a0
mov esi, eax
mov dword [esp + 0x30], esi
jmp 0x4d4dee
mov dword [esp + 0x30], ebx
mov esi, ebx
mov byte [esp + 0x408], 0x13
mov dword [esp + 0x9c], esi
cmp esi, ebx
je 0x4d4e09
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.004c6690
lea eax, [esp + 0x194]
call fcn.004cadb0
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.004c3250
mov dword [esp + 0x40], eax
cmp eax, ebx
jne 0x4d57d7
mov ecx, dword [ebp + 0x18]
cmp edi, dword [ecx + 8]
jge 0x4d4eaa
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 0x4d4e94
lea edi, [esp + 0x194]
call fcn.004c5510
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.004ceed0
xor edi, edi
cmp dword [esp + 0x64], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x40], edi
jle 0x4d5055
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.004aedb0
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 0x4d4f74
lea ecx, [esp + 0xcc]
push ecx
lea ebx, [esp + 0x70]
mov esi, eax
call fcn.004d2910
add esp, 4
jmp 0x4d4f8f
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.004d1680
xor ebx, ebx
cmp byte [esp + 0xf0], bl
jne 0x4d598b
cmp byte [esp + 0x89], bl
jne 0x4d598b
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x48]
cmp byte [edi + edx], bl
jne 0x4d4fcb
mov byte [esp + 0x408], 0x17
mov eax, dword [esp + 0x7c]
push eax
call fcn.004eacff
jmp 0x4d503c
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 0x4d5004
mov eax, 1
add dword [esp + 0x10], eax
mov byte [esp + 0x8a], al
mov byte [esp + 0x88], al
jmp 0x4d5012
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.004d17e0
mov byte [esp + 0x408], 0x17
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.004eacff
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 0x4d4ef0
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x18]
push edx
add eax, 0x50
call fcn.004cf0e0
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.004c95b0
mov byte [esp + 0x408], 0x13
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x4d509e
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.004eacff
add esp, 4
cmp esi, dword [esp + 0x60]
jl 0x4d4c60
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 [0x52267c]
mov edx, dword [esp + 0xc4]
push edx
call fcn.004eacff
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 [0x52267c]
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.004eacff
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.004c48c0
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.004c4110
mov eax, dword [esp + 0x68]
inc eax
cmp eax, 4
mov dword [esp + 0x68], eax
jl 0x4d3e00
mov ecx, dword [esp + 0x38]
cmp ecx, dword [esp + 0x24]
je 0x4d5b51
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea eax, [esp + 0x214]
push eax
jmp 0x4d5ab5
mov esi, 1
mov eax, dword [esp + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x4d52d9
push eax
call edi
test eax, eax
jne 0x4d52d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d52dd
lea ecx, [esp + 0x2e4]
push ecx
mov byte [esp + 0x40c], 8
call fcn.004c48c0
lea edx, [esp + 0x130]
push edx
mov byte [esp + 0x40c], 4
call fcn.004c4110
lea eax, [esp + 0x118]
push eax
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea ecx, [esp + 0x214]
push ecx
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 [0x52267c]
mov edx, dword [esp + 0x28]
push edx
call fcn.004eacff
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 [0x52267c]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004eacff
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 0x4d52f4
push eax
call edi
test eax, eax
jne 0x4d52f4
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d52f8
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x4d530f
push eax
call edi
test eax, eax
jne 0x4d530f
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d5313
mov dword [esp + 0x6c], ebx
lea edx, [esp + 0x2e4]
push edx
mov byte [esp + 0x40c], 8
call fcn.004c48c0
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.004c4110
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 0x4d34fb
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 [0x52267c]
mov edx, dword [esp + 0xd8]
push edx
call fcn.004eacff
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 0x4d53ed
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 0x4d5405
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 0x4d5422
push eax
call edi
test eax, eax
jne 0x4d5422
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d5426
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x4d543d
push eax
call edi
test eax, eax
jne 0x4d543d
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d5441
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x4d5458
push eax
call edi
test eax, eax
jne 0x4d5458
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d545c
mov dword [esp + 0x6c], ebx
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x40c], 8
call fcn.004c48c0
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.004c4110
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea eax, [esp + 0x214]
push eax
jmp 0x4d535a
lea ecx, [esp + 0x194]
push ecx
mov byte [esp + 0x40c], 0xd
call fcn.004c95b0
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 [0x52267c]
mov eax, dword [esp + 0xd8]
push eax
call fcn.004eacff
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 0x4d5523
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 0x4d553b
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 0x4d5558
push eax
call edi
test eax, eax
jne 0x4d5558
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d555c
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x4d5573
push eax
call edi
test eax, eax
jne 0x4d5573
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d5577
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x4d558e
push eax
call edi
test eax, eax
jne 0x4d558e
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d5592
mov dword [esp + 0x6c], ebx
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x40c], 8
call fcn.004c48c0
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.004c4110
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 [0x52267c]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004eacff
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 [0x52267c]
mov eax, dword [esp + 0x50]
push eax
call fcn.004eacff
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.004c95b0
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 [0x52267c]
mov eax, dword [esp + 0xd8]
push eax
call fcn.004eacff
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 0x4d56f2
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 0x4d570a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x4d5725
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x4d5725
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d5729
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x4d5744
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x4d5744
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d5748
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x4d5763
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x4d5763
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d5767
mov dword [esp + 0x6c], ebx
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x40c], 8
call fcn.004c48c0
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.004c4110
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.004d5de0
mov byte [esp + 0x408], 1
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov byte [esp + 0x408], bl
jmp 0x4d3bcb
lea ecx, [esp + 0x194]
push ecx
mov byte [esp + 0x40c], 0x16
call fcn.004c95b0
mov byte [esp + 0x408], 0x13
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x4d5804
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0x17c]
push ecx
call fcn.004eacff
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 [0x52267c]
mov eax, dword [esp + 0xc4]
push eax
call fcn.004eacff
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 [0x52267c]
mov edx, dword [esp + 0xb0]
push edx
call fcn.004eacff
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.004c48c0
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x40c], 4
call fcn.004c4110
lea edx, [esp + 0x118]
push edx
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 [0x52267c]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004eacff
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 [0x52267c]
mov eax, dword [esp + 0x50]
push eax
call fcn.004eacff
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.004eacff
add esp, 4
lea edx, [esp + 0x194]
push edx
mov byte [esp + 0x40c], 0x16
call fcn.004c95b0
mov byte [esp + 0x408], 0x13
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x4d59c5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x17c]
push eax
call fcn.004eacff
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 [0x52267c]
mov edx, dword [esp + 0xc4]
push edx
call fcn.004eacff
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 [0x52267c]
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.004eacff
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.004c48c0
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x40c], 4
call fcn.004c4110
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 [0x52267c]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004eacff
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 [0x52267c]
mov eax, dword [esp + 0x50]
push eax
call fcn.004eacff
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 0x4d5bd5
mov edi, edi
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + edi*4]
cmp byte [eax + 0x38], bl
je 0x4d5bad
cmp byte [eax + 0x3b], bl
jne 0x4d5bc2
cmp byte [eax + 0x3a], bl
jne 0x4d5bc2
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
jmp 0x4d5bc0
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x4d5bc2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x1c], bl
jne 0x4d5bcf
push edi
lea eax, [esp + 0x108]
call fcn.004cf0e0
inc edi
cmp edi, dword [esi + 8]
jl 0x4d5b90
push esi
lea eax, [esp + 0x108]
call fcn.004d5f00
mov eax, dword [esp + 0x10c]
cmp eax, ebx
mov dword [esp + 0x18], ebx
jle 0x4d5cd6
jmp 0x4d5c03
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.004aedb0
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 0x4d5c7c
lea ecx, [esp + 0x1ec]
push ecx
lea ebx, [esp + 0x70]
mov esi, edi
call fcn.004d2910
add esp, 4
jmp 0x4d5c93
mov eax, dword [ebp + 0xc]
mov esi, dword [edi]
lea edx, [esp + 0x6c]
push edx
push eax
lea ebx, [esp + 0x1f4]
call fcn.004d1680
mov edi, dword [ebp + 0x18]
lea ecx, [esp + 0x6c]
push ecx
lea esi, [esp + 0x1f0]
call fcn.004d17e0
mov byte [esp + 0x408], 0x19
mov edx, dword [esp + 0x7c]
push edx
call fcn.004eacff
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 0x4d5c00
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 [0x52267c]
mov eax, dword [esp + 0x110]
push eax
call fcn.004eacff
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.004d1d20
lea ecx, [esp + 0x118]
push ecx
mov byte [esp + 0x40c], 3
call fcn.004d5fe0
lea edx, [esp + 0x214]
push edx
mov byte [esp + 0x40c], 2
call fcn.004d5de0
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 [0x52267c]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004eacff
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 [0x52267c]
mov eax, dword [esp + 0x50]
push eax
call fcn.004eacff
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