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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d9f5b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3f8
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
push ebx
push esi
mov dword [esp + 0xfc], eax
or eax, ecx
push edi
mov dword [esp + 0x104], ecx
jne 0x43d851
mov dword [esp + 0x100], 1
mov dword [esp + 0x104], eax
cmp dword [ebp + 0xc], 0
je 0x43d8a8
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x13c]
test edi, edi
mov ebx, dword [eax + 0x138]
ja 0x43d86e
test ebx, ebx
jbe 0x43d8a8
cmp byte [edx + 0x21], 0
jne 0x43d8a8
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
push 0
push 0
push 0
push 0
push esi
call ecx
test eax, eax
jne 0x4406e4
mov edx, dword [ebp + 0x1c]
push eax
push edi
push ebx
push edx
mov ecx, esi
call fcn.0043c600
add esp, 0x10
test eax, eax
jne 0x4406e4
xor ebx, ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], 4
mov dword [esp + 0x44], vtable.CRecordVector_int_.0
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0xc
mov dword [esp + 0x18], vtable.CRecordVector_struct_NArchive::N7z::CFolderRepack_.0
cmp dword [ebp + 0xc], ebx
mov byte [esp + 0x40c], 1
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov byte [esp + 0xf], bl
je 0x43dc05
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x6c]
lea esi, [esp + 0x44]
call fcn.00428880
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x6c], ebx
jle 0x43d981
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x4c], ecx
jne 0x43d962
cmp ecx, 0x40
mov eax, 1
jl 0x43d94c
mov eax, ecx
shr eax, 2
jmp 0x43d956
cmp ecx, 8
jl 0x43d956
mov eax, 8
lea edi, [eax + ecx]
lea esi, [esp + 0x44]
call fcn.00428880
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ecx, dword [ebp + 0xc]
mov dword [edx + eax*4], 0xffffffff
add dword [esp + 0x4c], 1
add ebx, 1
cmp ebx, dword [ecx + 0x6c]
jl 0x43d931
mov edx, dword [ebp + 0x10]
xor eax, eax
cmp dword [edx + 8], eax
jle 0x43d9ac
jmp 0x43d990
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + eax*4]
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x43d9a4
mov esi, dword [esp + 0x50]
mov dword [esi + ecx*4], eax
add eax, 1
cmp eax, dword [edx + 8]
jl 0x43d990
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x44], 0
mov dword [esp + 0x2c], 0
jle 0x43dbf6
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x5c]
mov eax, dword [esp + 0x2c]
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 + 0x34], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
jbe 0x43dbdf
mov ecx, dword [esp + 0x50]
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 0x43da3f
mov eax, dword [edx]
add esi, 1
test eax, eax
jl 0x43da3f
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx + 0xc]
mov eax, dword [ebx + eax*4]
cmp byte [eax + 0x38], 0
jne 0x43da3f
mov eax, dword [ecx]
add dword [esp + 0x34], 1
add dword [esp + 0x90], eax
mov ecx, dword [ecx + 4]
adc dword [esp + 0x94], ecx
add edx, 4
cmp esi, dword [esp + 0x10]
jb 0x43da06
cmp dword [esp + 0x34], 0
je 0x43dbdf
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0x2c]
mov edi, dword [eax + ecx*4]
mov ebx, dword [edi + 8]
lea eax, [ebx - 1]
test eax, eax
jl 0x43da8e
mov edx, dword [edi + 0xc]
lea ecx, [edx + eax*4]
mov edx, dword [ecx]
cmp dword [edx], 0x6f10701
jne 0x43da84
cmp dword [edx + 4], 0
je 0x43dafc
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x43da70
mov byte [esp + 0x17], 0
xor esi, esi
test ebx, ebx
jle 0x43dac9
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 0x43dab3
test eax, eax
je 0x43db03
cmp ecx, 0x303011b
jne 0x43dabf
test eax, eax
je 0x43db03
add esi, 1
add edx, 4
cmp esi, ebx
jl 0x43daa0
xor al, al
mov ecx, dword [esp + 0x20]
xor ebx, ebx
test al, al
mov al, byte [esp + 0x17]
setne bl
neg al
sbb eax, eax
and eax, 2
add ebx, eax
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jne 0x43db21
cmp eax, 0x40
mov ecx, 1
jl 0x43db07
mov ecx, eax
shr ecx, 2
jmp 0x43db11
mov byte [esp + 0x17], 1
jmp 0x43da93
mov al, 1
jmp 0x43dacb
cmp eax, 8
jl 0x43db11
mov ecx, 8
lea edi, [ecx + eax]
lea esi, [esp + 0x18]
call fcn.00428880
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
lea ecx, [ecx + ecx*2]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
add dword [esp + 0x20], 1
cmp ecx, dword [esp + 0x10]
jne 0x43db95
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x190]
mov eax, dword [esp + 0x2c]
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 0x43db85
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 0x43db72
add dword [esp + 0xa0], esi
adc dword [esp + 0xa4], edi
jmp 0x43dbdf
mov ecx, dword [esp + 0x90]
add dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x94]
adc dword [esp + 0xa4], eax
cmp eax, dword [esp + 0x8c]
jb 0x43dbd3
ja 0x43dbc5
cmp ecx, dword [esp + 0x88]
jbe 0x43dbd3
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
cmp byte [esp + 0x17], 0
je 0x43dbdf
mov byte [esp + 0xf], 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0xc]
add eax, 1
cmp eax, dword [ecx + 0x44]
mov dword [esp + 0x2c], eax
jl 0x43d9c1
mov edx, dword [ebp + 0xc]
push edx
lea eax, [esp + 0x1c]
call fcn.00440880
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
xor esi, esi
xor edx, edx
xor edi, edi
cmp eax, ebx
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edx
mov dword [esp + 0x38], eax
jle 0x43dcac
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x9c], eax
jmp 0x43dc40
mov ecx, dword [esp + 0x9c]
mov ecx, dword [ecx]
cmp byte [ecx + 0x38], 0
je 0x43dc8d
mov eax, dword [ecx + 0x20]
add dword [esp + 0xa0], eax
mov ecx, dword [ecx + 0x24]
adc dword [esp + 0xa4], ecx
cmp dword [esp + 0x100], 1
jne 0x43dc77
cmp dword [esp + 0x104], 0
je 0x43dc7d
add esi, eax
adc edx, ecx
jmp 0x43dc8b
cmp ecx, edx
jb 0x43dc8b
ja 0x43dc87
cmp eax, esi
jbe 0x43dc8b
mov esi, eax
mov edx, ecx
xor ebx, ebx
add dword [esp + 0x9c], 4
add edi, 1
cmp edi, dword [esp + 0x38]
jl 0x43dc40
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], esi
mov eax, dword [esp + 0x8c]
cmp eax, edx
jb 0x43dcd9
ja 0x43dcc2
cmp dword [esp + 0x88], esi
jbe 0x43dcd9
mov esi, dword [esp + 0x88]
mov edx, eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edx
cmp edx, ebx
ja 0x43dcf9
jb 0x43dce7
cmp esi, 0x10000
jae 0x43dcf9
mov dword [esp + 0x90], 0x10000
mov dword [esp + 0x94], ebx
mov eax, dword [esp + 0xa4]
mov edi, dword [ebp + 0x20]
mov ecx, dword [esp + 0xa0]
mov edx, dword [edi]
mov edx, dword [edx + 0xc]
push eax
push ecx
push edi
call edx
mov esi, eax
cmp esi, ebx
je 0x43dd9b
mov byte [esp + 0x40c], 0
mov eax, dword [esp + 0x20]
push eax
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], edi
call dword [0x4eaef8]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], edi
call dword [0x4eaef8]
mov eax, dword [esp + 0x50]
push eax
call fcn.0049f9d0
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x38
call fcn.0049fa24
mov ebx, eax
xor eax, eax
add esp, 4
cmp ebx, eax
mov dword [esp + 0x5c], ebx
jne 0x43ddc6
push 0x4f7e44
lea ecx, [esp + 0x13]
xor al, al
push ecx
mov byte [esp + 0x17], al
call fcn.004b1663
mov dword [ebx + 4], eax
mov dword [ebx], vtable.CLocalProgress.0
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
lea esi, [ebx + 0xc]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov byte [ebx + 0x31], 1
mov byte [ebx + 0x30], 1
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
mov dword [esp + 0x1f0], ebx
call eax
mov byte [esp + 0x40c], 2
mov eax, dword [esi]
test eax, eax
je 0x43de1d
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 0x43de34
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 0x4ebc14
push eax
call edx
lea eax, [esp + 0x218]
push eax
mov byte [ebx + 0x10], 1
call fcn.0043d5d0
mov byte [esp + 0x40c], 3
cmp dword [esp + 0x20], 0
je 0x43df24
lea esi, [esp + 0x218]
call fcn.0041c250
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x43df26
lea ecx, [esp + 0x218]
push ecx
mov byte [esp + 0x410], 2
call fcn.00440700
mov byte [esp + 0x40c], 1
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push ebx
call eax
mov byte [esp + 0x40c], 0
mov ecx, dword [esp + 0x20]
push ecx
mov ebx, vtable.CBaseRecordVector.0
push edi
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], ebx
call dword [0x4eaef8]
mov edx, dword [esp + 0x24]
push edx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov eax, dword [esp + 0x50]
add esp, 4
push eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x48], ebx
push edi
lea ecx, [esp + 0x4c]
call dword [0x4eaef8]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0049f9d0
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], edi
mov dword [esp + 0x128], edi
mov edi, 4
mov dword [esp + 0x12c], edi
mov dword [esp + method.CObjectVector_struct_NArchive::N7z::CSolidGroup_.virtual_0], vtable.CObjectVector_struct_NArchive::N7z::CSolidGroup_.0
mov esi, edi
jmp 0x43df60
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 + 0x120]
mov byte [esp + 0x410], 5
call fcn.00440980
mov byte [esp + 0x40c], 4
mov eax, dword [esp + 0xb4]
push eax
push 0
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb4], vtable.CBaseRecordVector.0
call dword [0x4eaef8]
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.0049f9d0
add esp, 4
sub esi, 1
jne 0x43df60
mov eax, dword [ebp + 0x24]
mov dl, byte [eax + 8]
mov eax, dword [eax]
cmp dword [eax + 8], 1
mov byte [esp + 0x67], dl
mov dword [esp + 0x38], eax
jne 0x43e003
cmp dword [eax + 0x1c], esi
je 0x43e008
mov byte [esp + 0x67], 0
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 8]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x30], eax
jle 0x43e150
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + eax*4]
cmp byte [ecx + 0x38], 0
je 0x43e140
cmp byte [ecx + 0x3b], 0
jne 0x43e140
cmp byte [ecx + 0x3a], 0
jne 0x43e140
mov esi, dword [ecx + 0x20]
or esi, dword [ecx + 0x24]
je 0x43e140
cmp byte [esp + 0x67], 0
mov byte [esp + 0x17], 0
je 0x43e0d3
mov eax, dword [ecx + 0x2c]
test eax, eax
lea edx, [ecx + 0x28]
je 0x43e0d3
mov ecx, dword [edx]
cmp word [ecx + eax*2 - 2], 0x2e
lea eax, [ecx + eax*2 - 2]
je 0x43e07d
cmp eax, ecx
je 0x43e0d3
sub eax, 2
cmp word [eax], 0x2e
jne 0x43e070
sub eax, ecx
sar eax, 1
test eax, eax
jl 0x43e0d3
add eax, 1
lea esi, [esp + 0x108]
call fcn.00419b50
mov edi, eax
xor esi, esi
jmp 0x43e0a0
mov eax, dword [esi + 0x504a94]
mov edx, dword [edi]
push eax
push edx
call fcn.004287d0
add esp, 8
test eax, eax
je 0x43e10f
add esi, 4
cmp esi, 0x14
jb 0x43e0a0
mov byte [esp + 0x17], 0
mov eax, dword [esp + 0x108]
push eax
call fcn.0049f9d0
add esp, 4
mov ecx, dword [esp + 0x38]
mov dl, byte [ecx + 0x2c]
mov ecx, dword [esp + 0x128]
neg dl
sbb edx, edx
xor eax, eax
and edx, 2
cmp byte [esp + 0x17], al
setne al
add edx, eax
mov esi, dword [ecx + edx*4]
mov eax, dword [esi + 4]
cmp dword [esi + 8], eax
jne 0x43e12c
cmp eax, 0x40
mov ecx, 1
jl 0x43e116
mov ecx, eax
shr ecx, 2
jmp 0x43e120
mov byte [esp + 0x17], 1
jmp 0x43e0c3
cmp eax, 8
jl 0x43e120
mov ecx, 8
lea edi, [eax + ecx]
call fcn.00428880
mov ebx, dword [esp + 0x5c]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x30]
mov dword [ecx + edx*4], eax
add dword [esi + 8], 1
mov edx, dword [ebp + 0x10]
add eax, 1
cmp eax, dword [edx + 8]
mov dword [esp + 0x30], eax
jl 0x43e01c
cmp byte [esp + 0xf], 0
mov dword [esp + 0x178], 0
je 0x43e56d
push 0x14
call fcn.0049fa24
mov edi, eax
add esp, 4
test edi, edi
jne 0x43e18b
push 0x4f7e44
lea edx, [esp + 0x13]
xor al, al
push edx
mov byte [esp + 0x17], al
call fcn.004b1663
mov dword [esp + 0x60], edi
xor eax, eax
mov byte [esp + 0x40c], 6
mov dword [edi + 4], eax
mov dword [edi], vtable.NArchive::N7z::CCryptoGetTextPassword.0
lea esi, [edi + 8]
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
xor ecx, ecx
mov eax, 4
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0049f25a
add esp, 4
cmp dword [esi + 8], 0
mov dword [esp + 0x10], eax
jle 0x43e1fd
xor eax, eax
cmp dword [esi + 4], eax
jle 0x43e1f2
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
mov dx, word [edx + eax*2]
mov word [ecx + eax*2], dx
add eax, 1
cmp eax, dword [esi + 4]
jl 0x43e1e0
mov eax, dword [esi]
push eax
call fcn.0049f9d0
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 4]
mov dword [esi], eax
mov word [eax + ecx*2], 0
mov byte [esp + 0x40c], 4
mov dword [esi + 8], 4
mov edx, dword [edi]
mov eax, dword [edx + 4]
push edi
mov dword [esp + 0x17c], edi
call eax
mov eax, dword [esp + 0x250]
test eax, eax
je 0x43e23d
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 + 0x250], edi
cmp byte [eax + 0x2c], 0
je 0x43e2fc
lea edi, [eax + 0x30]
cmp edi, esi
mov dword [esp + 0x38], edi
je 0x43e56d
mov ecx, dword [esi]
mov dword [esi + 4], 0
mov word [ecx], 0
mov ebx, dword [edi + 4]
add ebx, 1
cmp ebx, dword [esi + 8]
je 0x43e2d4
xor ecx, ecx
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0049f25a
add esp, 4
cmp dword [esi + 8], 0
mov edi, eax
jle 0x43e2c2
xor eax, eax
cmp dword [esi + 4], eax
jle 0x43e2b7
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 0x43e2a5
mov eax, dword [esi]
push eax
call fcn.0049f9d0
add esp, 4
mov eax, dword [esi + 4]
mov dword [esi], edi
mov word [edi + eax*2], 0
mov edi, dword [esp + 0x38]
mov dword [esi + 8], ebx
mov edx, dword [edi]
mov ecx, dword [esi]
jmp 0x43e2e0
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x43e2e0
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
jmp 0x43e56d
cmp dword [ebp + 0x28], 0
jne 0x43e3c2
lea edx, [esp + 0x11c]
push edx
mov byte [esp + 0x410], 3
call fcn.00440900
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x410], 2
call fcn.00440700
mov byte [esp + 0x40c], 1
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov byte [esp + 0x40c], 0
mov eax, dword [esp + 0x20]
push eax
xor edi, edi
mov esi, vtable.CBaseRecordVector.0
push edi
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
call dword [0x4eaef8]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push edi
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x4c], esi
call dword [0x4eaef8]
mov eax, dword [esp + 0x50]
push eax
call fcn.0049f9d0
add esp, 4
mov eax, 0x80004001
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x34], 0
mov eax, dword [ebp + 0x28]
lea edx, [esp + 0x34]
mov byte [esp + 0x40c], 7
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x43e4b0
mov ecx, dword [esp + 0x34]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea edx, [esp + 0x11c]
push edx
mov byte [esp + 0x410], 3
call fcn.00440900
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x410], 2
call fcn.00440700
mov byte [esp + 0x40c], 1
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov byte [esp + 0x40c], 0
mov eax, dword [esp + 0x20]
push eax
xor ebx, ebx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
call dword [0x4eaef8]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], esi
call dword [0x4eaef8]
mov eax, dword [esp + 0x50]
push eax
call fcn.0049f9d0
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x34]
mov ecx, dword [esi]
mov dword [esi + 4], 0
xor ebx, ebx
mov word [ecx], 0
cmp word [edx], bx
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], ebx
je 0x43e4df
add ebx, 1
cmp word [edx + ebx*2], 0
jne 0x43e4d1
mov dword [esp + 0x10], ebx
lea edi, [ebx + 1]
cmp edi, dword [esi + 8]
je 0x43e544
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0049f25a
add esp, 4
cmp dword [esi + 8], 0
mov ebx, eax
jle 0x43e52e
xor eax, eax
cmp dword [esi + 4], eax
jle 0x43e523
mov ecx, dword [esi]
mov dx, word [ecx + eax*2]
mov word [ebx + eax*2], dx
add eax, 1
cmp eax, dword [esi + 4]
jl 0x43e511
mov eax, dword [esi]
push eax
call fcn.0049f9d0
add esp, 4
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x38]
mov dword [esi], ebx
mov word [ebx + eax*2], 0
mov ebx, dword [esp + 0x10]
mov dword [esi + 8], edi
mov ecx, dword [esi]
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x43e546
mov byte [esp + 0x40c], 4
mov ecx, dword [esp + 0x34]
push ecx
mov dword [esi + 4], ebx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x14]
call fcn.0043a1c0
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jne 0x43fd48
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
push ebx
push 1
push ebx
push 0x18
push eax
call edx
mov esi, eax
cmp esi, ebx
je 0x43e630
lea eax, [esp + 0x11c]
push eax
mov byte [esp + 0x410], 3
call fcn.00440900
lea ecx, [esp + 0x218]
push ecx
mov byte [esp + 0x410], 2
call fcn.00440700
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x40c], 1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x40c], bl
mov ecx, dword [esp + 0x20]
push ecx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], edi
call dword [0x4eaef8]
mov edx, dword [esp + 0x24]
push edx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov eax, dword [esp + 0x50]
add esp, 4
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], edi
push ebx
jmp 0x43def6
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x9c], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [esp + 0xd4], ebx
jmp 0x43e650
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0xd4]
mov ecx, dword [edx + eax*4]
lea edx, [esp + 0x134]
push edx
mov dword [esp + 0x3c], ecx
call fcn.0042d5e0
test byte [esp + 0xd4], 1
mov byte [esp + 0x40c], 8
je 0x43e6a4
lea eax, [esp + 0x134]
push eax
mov eax, dword [ebp + 0x24]
movzx ecx, byte [eax + 9]
mov edx, dword [eax]
push ecx
push edx
call fcn.0043ce00
add esp, 0xc
jmp 0x43e82c
mov ecx, dword [esp + 0x13c]
mov eax, dword [ebp + 0x24]
mov esi, dword [eax]
mov edx, dword [esp + 0x134]
mov eax, dword [edx + 4]
push ecx
push ebx
lea ecx, [esp + 0x13c]
mov dword [esp + 0x60], esi
call eax
mov esi, dword [esi + 8]
mov ecx, dword [esp + 0x13c]
lea edi, [esi + ecx]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x134]
call fcn.00428880
mov edi, dword [esp + 0x58]
xor esi, esi
cmp dword [esp + 0x10], ebx
jle 0x43e70d
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + esi*4]
lea edx, [esp + 0x134]
call fcn.0042f680
add esi, 1
cmp esi, dword [esp + 0x10]
jl 0x43e6f2
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
push eax
mov eax, dword [edx + 4]
push ebx
lea ecx, [esp + 0x150]
call eax
lea ecx, [edi + 0x14]
push ecx
lea eax, [esp + 0x14c]
call fcn.0042feb0
mov edx, dword [edi + 0x28]
lea esi, [edi + 0x30]
mov dword [esp + 0x15c], edx
mov al, byte [edi + 0x2c]
lea ecx, [esp + 0x164]
cmp esi, ecx
mov byte [esp + 0x160], al
mov dword [esp + 0x10], esi
je 0x43e82c
mov edx, dword [esp + 0x164]
mov dword [esp + 0x168], ebx
mov word [edx], bx
mov edi, dword [esi + 4]
add edi, 1
cmp edi, dword [esp + 0x16c]
je 0x43e808
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0049f25a
add esp, 4
cmp dword [esp + 0x16c], ebx
mov esi, eax
jle 0x43e7eb
xor eax, eax
cmp dword [esp + 0x168], ebx
jle 0x43e7db
jmp 0x43e7c0
mov ecx, dword [esp + 0x164]
mov dx, word [ecx + eax*2]
mov word [esi + eax*2], dx
add eax, 1
cmp eax, dword [esp + 0x168]
jl 0x43e7c0
mov eax, dword [esp + 0x164]
push eax
call fcn.0049f9d0
add esp, 4
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x164], esi
mov word [esi + ecx*2], bx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x16c], edi
mov edx, dword [esi]
mov ecx, dword [esp + 0x164]
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x43e811
mov edx, dword [esi + 4]
mov dword [esp + 0x168], edx
mov eax, dword [esp + 0xd4]
shr eax, 1
test al, 1
je 0x43e936
cmp byte [esp + 0x160], bl
jne 0x43e94e
mov esi, dword [esp + 0x178]
cmp esi, ebx
je 0x43e92c
add esi, 8
lea ecx, [esp + 0x164]
cmp esi, ecx
mov dword [esp + 0x10], esi
je 0x43e92c
mov edx, dword [esp + 0x164]
mov dword [esp + 0x168], ebx
mov word [edx], bx
mov edi, dword [esi + 4]
add edi, 1
cmp edi, dword [esp + 0x16c]
je 0x43e908
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0049f25a
add esp, 4
cmp dword [esp + 0x16c], ebx
mov esi, eax
jle 0x43e8eb
xor eax, eax
cmp dword [esp + 0x168], ebx
jle 0x43e8db
mov ecx, dword [esp + 0x164]
mov dx, word [ecx + eax*2]
mov word [esi + eax*2], dx
add eax, 1
cmp eax, dword [esp + 0x168]
jl 0x43e8c0
mov eax, dword [esp + 0x164]
push eax
call fcn.0049f9d0
add esp, 4
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x164], esi
mov word [esi + ecx*2], bx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x16c], edi
mov edx, dword [esi]
mov ecx, dword [esp + 0x164]
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x43e911
mov edx, dword [esi + 4]
mov dword [esp + 0x168], edx
mov byte [esp + 0x160], 1
jmp 0x43e94e
mov eax, dword [esp + 0x164]
mov byte [esp + 0x160], bl
mov dword [esp + 0x168], ebx
mov word [eax], bx
lea ecx, [esp + 0x134]
push ecx
lea edx, [esp + 0x2ec]
push edx
call fcn.0042ebd0
mov ecx, dword [esp + 0x9c]
mov byte [esp + 0x40c], 9
cmp ecx, dword [esp + 0x20]
jge 0x43f2af
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x58], ecx
jmp 0x43e994
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xd4]
cmp dword [edx + ecx + 4], eax
jne 0x43f2af
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 + 0x60], ecx
mov ecx, dword [ecx]
cmp ecx, dword [eax + edx]
mov dword [esp + 0x40], eax
jne 0x43eb77
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 + 0x3c], edx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x10], eax
jle 0x43ea24
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*8]
mov edx, dword [eax]
add dword [esp + 0x88], edx
mov edx, dword [eax + 4]
adc dword [esp + 0x8c], edx
add ecx, 1
add eax, 8
cmp ecx, dword [esp + 0x10]
jl 0x43ea01
mov edx, dword [esp + 0x3c]
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 + 0x18], 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 + 0x5c]
jne 0x43ea7f
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x10]
push esi
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
call fcn.0043c600
add esp, 0x10
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x43fab9
mov ecx, dword [esp + 0x88]
add dword [esi + 0x18], ecx
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x40]
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 + 0x34], ecx
mov dword [esp + 0x10], ebx
jle 0x43eb66
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x3c], 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 + 0x18c], eax
mov eax, dword [esi + 4]
cmp dword [esi + 8], eax
mov dword [esp + 0x188], edx
jne 0x43eb16
cmp eax, 0x40
mov ecx, 1
jl 0x43eb01
mov ecx, eax
shr ecx, 2
jmp 0x43eb0b
cmp eax, 8
jl 0x43eb0b
mov ecx, 8
lea edi, [ecx + eax]
call fcn.00428880
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x188]
mov dword [eax + ecx*8], edx
mov edx, dword [esp + 0x18c]
mov dword [eax + ecx*8 + 4], edx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
add dword [esi + 8], 1
add edx, 1
add eax, 8
cmp edx, dword [ecx + 0x30]
mov dword [esp + 0x10], edx
mov dword [esp + 0x3c], eax
jl 0x43eacd
push ecx
lea ecx, [esi + 0x3c]
call fcn.00439710
jmp 0x43f035
mov esi, dword [ebp + 0x18]
push ecx
lea ecx, [esi + 0x3c]
call fcn.00439710
jmp 0x43f035
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
push ebx
push 1
push 1
mov byte [esp + 0x418], 0xa
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push ebx
call esi
cmp eax, ebx
mov dword [esp + 0x68], eax
jne 0x43ebb2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x43ebde
mov eax, 1
jmp 0x43ebde
push ebx
push ebx
push 1
push ebx
call esi
cmp eax, ebx
mov dword [esp + 0x6c], eax
je 0x43eba1
push ebx
push ebx
push 1
push ebx
call esi
cmp eax, ebx
mov dword [esp + 0x70], eax
jne 0x43ebe8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
je 0x43fa8c
mov esi, eax
cmp esi, ebx
jne 0x43fa91
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edi, [esp + 0x70]
mov byte [esp + 0x414], 0xc
call fcn.0041bc80
xor esi, esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], 1
mov dword [esp + 0xd8], vtable.CRecordVector_bool_.0
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x40c], 0xd
mov eax, dword [edx + 0x5c]
mov eax, dword [ecx + eax]
cmp eax, ebx
mov edx, dword [edx + 0x1a4]
mov ecx, dword [ecx + edx]
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], ebx
jbe 0x43ed25
lea eax, [ecx*4]
mov dword [esp + 0x34], eax
mov ecx, eax
lea edi, [esi + 1]
jmp 0x43ec87
mov esi, dword [esp + 0xdc]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x70]
mov eax, dword [ecx + eax]
cmp byte [eax + 0x1c], bl
mov byte [esp + 0xf], bl
je 0x43ecbb
mov edx, dword [esp + 0x50]
mov eax, dword [edx + ecx]
add dword [esp + 0x3c], edi
cmp eax, ebx
jl 0x43ecbb
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x38], bl
jne 0x43ecbb
mov byte [esp + 0xf], 1
cmp dword [esp + 0xe0], esi
jne 0x43ecf4
cmp esi, 0x40
mov eax, edi
jl 0x43ecd2
mov eax, esi
shr eax, 2
jmp 0x43ecdc
cmp esi, 8
jl 0x43ecdc
mov eax, 8
lea edi, [esi + eax]
lea esi, [esp + 0xd8]
call fcn.00428880
mov ecx, dword [esp + 0x34]
mov edi, 1
mov al, byte [esp + 0xf]
mov esi, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov byte [edx + esi], al
mov eax, dword [esp + 0x3c]
add dword [esp + 0xe0], edi
add ecx, 4
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
jb 0x43ec80
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x1a4]
add eax, dword [esp + 0x40]
mov edi, dword [esp + 0x234]
mov eax, dword [eax]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x30]
cmp eax, ebx
lea ecx, [esp + 0xd8]
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], ecx
je 0x43ed5f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43ed72
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push ecx
call eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0x18], eax
mov eax, edi
mov dword [edi + 0x20], ebx
mov byte [edi + 0x24], bl
call fcn.0043d420
mov edi, eax
cmp edi, ebx
jne 0x43fc49
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x43eda0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x30], ebx
mov edi, dword [ebp + 8]
cmp edi, ebx
je 0x43edaf
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov eax, dword [esp + 0x230]
cmp eax, ebx
je 0x43edc2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esi + 0x48]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x230], edi
mov edx, dword [eax + ecx]
mov ecx, dword [esi + 0x190]
add eax, ecx
mov ecx, dword [esi + 0x17c]
mov dword [esp + 0x24c], edx
mov edx, dword [eax]
mov edi, dword [ecx + edx*8]
mov edx, dword [ecx + edx*8 + 4]
add edi, dword [esi + 0x148]
mov ecx, dword [esi + 0xc]
adc edx, dword [esi + 0x14c]
mov dword [esp + 0x240], edi
mov dword [esp + 0x244], edx
mov eax, dword [eax]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x21c]
push eax
mov dword [esp + 0x24c], edx
mov byte [esp + 0x22c], bl
call dword [sym.imp.KERNEL32.dll_SetEvent]
cmp eax, ebx
jne 0x43ee39
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 + 0x194], ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], edx
mov dword [esp + method.CObjectVector_struct_NArchive::N7z::CCoderInfo_.virtual_0], vtable.CObjectVector_struct_NArchive::N7z::CCoderInfo_.0
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x1b4], eax
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_struct_NArchive::N7z::CBindPair_.0
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1c8], edx
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_int_.0
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], eax
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov byte [esp + 0x1e4], bl
mov esi, dword [esp + 0x5c]
mov edx, dword [ebp + 0x14]
push esi
push ecx
mov byte [esp + 0x414], 0xe
mov eax, dword [edx + 0x50]
mov edx, dword [esp + 0x34]
push eax
lea eax, [esp + 0x19c]
push eax
lea ecx, [esp + 0xa0]
push ecx
push edx
lea eax, [esp + 0x300]
push eax
call fcn.0042de60
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x43fe02
mov ecx, dword [esp + 0x220]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x22c]
cmp eax, ebx
jne 0x43ffce
mov ecx, dword [ebp + 0x18]
cmp edi, dword [ecx + 8]
jge 0x43ef6e
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 0x43ef56
lea edi, [esp + 0x190]
call fcn.00430000
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.00439710
mov edx, edi
push edx
mov byte [esp + 0x410], 0xd
call fcn.00433f20
mov byte [esp + 0x40c], 0xc
mov eax, dword [esp + 0xe0]
push eax
push ebx
lea ecx, [esp + 0xe0]
mov dword [esp + 0xe0], vtable.CBaseRecordVector.0
call dword [0x4eaef8]
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.0049f9d0
add esp, 4
mov byte [esp + 0x40c], 0xb
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
je 0x43f006
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x40c], 0xa
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x43f01e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea esi, [esp + 0x68]
mov byte [esp + 0x40c], 9
call fcn.0041d450
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov eax, dword [esi + 0x54]
add esi, 0x50
cmp dword [esi + 8], eax
mov dword [esp + 0x60], ecx
jne 0x43f070
cmp eax, 0x40
mov ecx, 1
jl 0x43f05b
mov ecx, eax
shr ecx, 2
jmp 0x43f065
cmp eax, 8
jl 0x43f065
mov ecx, 8
lea edi, [eax + ecx]
call fcn.00428880
mov edi, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0x60]
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 + 0x40]
mov eax, dword [ecx + edx]
cmp eax, ebx
mov edx, dword [edi + 0x1a4]
mov edi, dword [ecx + edx]
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x10], edi
jbe 0x43f28f
jmp 0x43f0b0
push 4
lea esi, [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
call fcn.004197d0
mov byte [esp + 0x84], 1
mov byte [esp + 0x85], bl
mov byte [esp + 0x86], bl
mov byte [esp + 0x87], bl
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x68]
push eax
push ecx
lea ebx, [esp + 0x1f8]
mov esi, edi
mov byte [esp + 0x414], 0xf
call fcn.0043be60
xor ebx, ebx
cmp byte [esp + 0x84], bl
je 0x43f25f
mov edx, dword [esp + 0x50]
mov eax, dword [edx + edi*4]
add dword [esp + 0x3c], 1
cmp eax, ebx
jl 0x43f25f
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov edi, dword [edx + eax*4]
cmp byte [edi + 0x38], bl
jne 0x43f25f
cmp byte [edi + 0x39], bl
je 0x43f24b
push 4
lea esi, [esp + 0xec]
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
call fcn.004197d0
mov byte [esp + 0xf4], 1
mov byte [esp + 0xf5], bl
mov byte [esp + 0xf6], bl
mov byte [esp + 0xf7], bl
lea ecx, [esp + 0x1f0]
push ecx
lea ebx, [esp + 0xdc]
mov esi, edi
mov byte [esp + 0x410], 0x10
call fcn.0043d120
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
mov bl, byte [esp + 0x8a]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xdc], edx
movzx edx, byte [esp + 0x88]
mov dword [esp + 0x74], eax
add esp, 4
lea edi, [esp + 0xe8]
lea eax, [esp + 0x78]
mov dword [esp + 0xe4], ecx
mov byte [esp + 0xf6], bl
mov byte [esp + 0xf4], dl
call fcn.00419a50
mov cl, byte [esp + 0xf4]
movzx edx, byte [esp + 0xf5]
mov al, byte [esp + 0xf7]
mov byte [esp + 0x84], cl
mov byte [esp + 0x40c], 0xf
mov ecx, dword [esp + 0xe8]
push ecx
mov byte [esp + 0x89], dl
mov byte [esp + 0x8a], bl
mov byte [esp + 0x8b], al
call fcn.0049f9d0
add esp, 4
mov edi, dword [ebp + 0x18]
lea edx, [esp + 0x68]
push edx
lea esi, [esp + 0x1f4]
call fcn.0043bfc0
mov byte [esp + 0x40c], 9
mov eax, dword [esp + 0x78]
push eax
call fcn.0049f9d0
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
add edi, 1
add esp, 4
xor ebx, ebx
cmp ecx, dword [esp + 0x60]
mov dword [esp + 0x10], edi
jb 0x43f0b0
mov eax, dword [esp + 0x9c]
add dword [esp + 0x58], 0xc
add eax, 1
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x9c], eax
jl 0x43e990
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 8]
cmp eax, ebx
mov dword [esp + 0x40], eax
jne 0x43f2f2
lea eax, [esp + 0x2e8]
push eax
mov byte [esp + 0x410], 8
call fcn.0042f410
lea ecx, [esp + 0x134]
push ecx
mov byte [esp + 0x410], 4
call fcn.0042ecb0
mov esi, vtable.CBaseRecordVector.0
jmp 0x43f9ef
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 0x14
mov dword [esp + 0xac], 0x4eba6c
mov edi, dword [esp + 0x40]
lea esi, [esp + 0xac]
mov byte [esp + 0x40c], 0x11
call fcn.00428880
cmp dword [esp + 0x104], ebx
ja 0x43f348
cmp dword [esp + 0x100], 1
jbe 0x43f352
mov byte [esp + 0x130], 1
jmp 0x43f359
mov byte [esp + 0x130], bl
xor esi, esi
cmp edi, ebx
jle 0x43f3c2
nop
mov edx, dword [esp + 0x38]
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 + 0x130]
lea eax, [eax + esi*4]
mov eax, dword [eax]
push edx
push eax
lea edx, [esp + 0xe0]
push edx
call fcn.0043cb30
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.00440af0
add esi, 1
cmp esi, edi
jl 0x43f360
lea ecx, [esp + 0x130]
push ecx
lea eax, [esp + 0xb0]
call fcn.00440b60
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 + 0x40]
lea esi, [esp + 0xc0]
mov byte [esp + 0x40c], 0x12
call fcn.00428880
cmp edi, ebx
jle 0x43f4a4
mov edx, edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x38], edx
mov eax, 1
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x58]
mov ecx, dword [ecx + edx + 4]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xc4]
cmp dword [esp + 0xc8], ecx
jne 0x43f47d
cmp ecx, 0x40
jl 0x43f45f
mov eax, ecx
shr eax, 2
jmp 0x43f469
cmp ecx, 8
jl 0x43f469
mov eax, 8
lea edi, [ecx + eax]
lea esi, [esp + 0xc0]
call fcn.00428880
mov eax, 1
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x60]
add dword [esp + 0x58], 0x14
mov dword [edx + esi*4], ecx
add dword [esp + 0xc8], eax
sub dword [esp + 0x38], eax
jne 0x43f430
cmp dword [esp + 0x40], ebx
mov dword [esp + 0x30], ebx
jle 0x43f92c
jmp 0x43f4c0
push 4
lea esi, [esp + 0x180]
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], ebx
call fcn.004197d0
mov byte [esp + 0x40c], 0x13
mov edi, dword [esp + 0x30]
xor esi, esi
cmp edi, dword [esp + 0x40]
mov dword [esp + 0x2c], esi
jge 0x43f625
lea ecx, [ecx]
mov eax, esi
cdq
cmp edx, dword [esp + 0x104]
ja 0x43f620
jb 0x43f52f
cmp eax, dword [esp + 0x100]
jae 0x43f620
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 + 0x170], edx
mov edx, dword [ecx + 0x24]
mov eax, dword [esp + 0x174]
adc eax, edx
mov edx, dword [ebp + 0x24]
cmp eax, dword [edx + 0x1c]
mov dword [esp + 0x174], eax
ja 0x43f620
jb 0x43f580
mov eax, dword [esp + 0x170]
cmp eax, dword [edx + 0x18]
ja 0x43f620
cmp byte [edx + 0x20], bl
je 0x43f5ee
lea eax, [esp + 0x108]
call fcn.0043c800
cmp esi, ebx
mov byte [esp + 0x40c], 0x14
jne 0x43f5b2
lea edi, [esp + 0x108]
lea eax, [esp + 0x17c]
call fcn.00419a50
jmp 0x43f5ce
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x108]
push ecx
push edx
call fcn.004287d0
add esp, 8
test eax, eax
jne 0x43f604
mov byte [esp + 0x40c], 0x13
mov eax, dword [esp + 0x108]
push eax
call fcn.0049f9d0
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
add esp, 4
add esi, 1
lea ecx, [esi + edi]
cmp ecx, dword [esp + 0x40]
mov dword [esp + 0x2c], esi
jl 0x43f510
jmp 0x43f620
mov byte [esp + 0x40c], 0x13
mov edx, dword [esp + 0x108]
push edx
call fcn.0049f9d0
mov esi, dword [esp + 0x30]
add esp, 4
cmp esi, 1
jge 0x43f62d
mov dword [esp + 0x2c], 1
push 0x78
call fcn.0049fa24
add esp, 4
cmp eax, ebx
je 0x440124
mov dword [esp + 0x60], eax
push eax
mov byte [esp + 0x410], 0x15
call fcn.00431080
mov esi, eax
cmp esi, ebx
mov byte [esp + 0x40c], 0x13
mov dword [esp + 0x34], esi
mov dword [esp + 0xa0], esi
je 0x43f672
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov edi, dword [ebp + 0x20]
mov byte [esp + 0x40c], 0x16
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0xcc]
add eax, eax
add eax, eax
push edx
add ecx, eax
push ecx
mov dword [esp + 0x68], eax
call fcn.00431170
lea eax, [esp + 0x190]
call fcn.00435620
mov ecx, dword [ebp + 0x18]
mov esi, dword [esp + 0x5c]
mov edx, dword [ebp + 0x14]
push esi
push ecx
mov byte [esp + 0x414], 0x17
mov eax, dword [edx + 0x50]
mov edi, dword [ecx + 8]
mov edx, dword [esp + 0x3c]
push eax
lea eax, [esp + 0x19c]
push eax
lea ecx, [esp + 0xa0]
push ecx
push edx
lea eax, [esp + 0x300]
push eax
call fcn.0042de60
cmp eax, ebx
mov dword [esp + 0x38], eax
jne 0x440137
mov ecx, dword [ebp + 0x18]
cmp edi, dword [ecx + 8]
jge 0x43f718
lea ebx, [ebx]
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 0x43f700
lea edi, [esp + 0x190]
call fcn.00430000
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.00439710
xor edi, edi
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x38], edi
jle 0x43f8c1
mov edx, dword [esp + 0x60]
mov dword [esp + 0x3c], edx
jmp 0x43f760
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x3c]
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 + 0x7c]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
call fcn.004197d0
mov byte [esp + 0x84], 1
mov byte [esp + 0x85], bl
mov byte [esp + 0x86], bl
mov byte [esp + 0x87], bl
mov eax, dword [esp + 0x58]
mov byte [esp + 0x40c], 0x18
cmp byte [eax + 0x39], bl
je 0x43f7de
lea ecx, [esp + 0xd8]
push ecx
lea ebx, [esp + 0x6c]
mov esi, eax
call fcn.0043d120
add esp, 4
jmp 0x43f7f9
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x58]
mov esi, dword [ecx]
lea edx, [esp + 0x68]
push edx
push eax
lea ebx, [esp + 0xe0]
call fcn.0043be60
xor ebx, ebx
cmp byte [esp + 0xfc], bl
jne 0x4402f2
cmp byte [esp + 0x85], bl
jne 0x4402f2
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x48]
cmp byte [edi + edx], bl
jne 0x43f835
mov byte [esp + 0x40c], 0x17
mov eax, dword [esp + 0x78]
push eax
call fcn.0049f9d0
jmp 0x43f8a6
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 + 0x68], eax
or eax, ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x6c], ecx
je 0x43f86e
mov eax, 1
add dword [esp + 0x10], eax
mov byte [esp + 0x86], al
mov byte [esp + 0x84], al
jmp 0x43f87c
mov byte [esp + 0x86], bl
mov byte [esp + 0x84], bl
mov edi, dword [ebp + 0x18]
lea eax, [esp + 0x68]
push eax
lea esi, [esp + 0xdc]
call fcn.0043bfc0
mov byte [esp + 0x40c], 0x17
mov ecx, dword [esp + 0x78]
push ecx
call fcn.0049f9d0
mov edi, dword [esp + 0x3c]
add dword [esp + 0x40], 4
add edi, 1
add esp, 4
xor ebx, ebx
cmp edi, dword [esp + 0x2c]
mov dword [esp + 0x38], edi
jl 0x43f760
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x18]
push edx
add eax, 0x50
call fcn.0041ccc0
mov esi, dword [esp + 0x30]
add esi, dword [esp + 0x2c]
lea eax, [esp + 0x190]
push eax
mov dword [esp + 0x34], esi
mov byte [esp + 0x410], 0x16
call fcn.00433f20
mov byte [esp + 0x40c], 0x13
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x43f90a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x40c], 0x12
mov eax, dword [esp + 0x17c]
push eax
call fcn.0049f9d0
add esp, 4
cmp esi, dword [esp + 0x40]
jl 0x43f4c0
mov byte [esp + 0x40c], 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 [0x4eaef8]
mov edx, dword [esp + 0xcc]
push edx
call fcn.0049f9d0
mov byte [esp + 0x410], 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 [0x4eaef8]
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.0049f9d0
add esp, 4
lea edx, [esp + 0x2e8]
push edx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov byte [esp + 0x410], 8
call fcn.0042f410
lea eax, [esp + 0x134]
push eax
mov byte [esp + 0x410], 4
call fcn.0042ecb0
mov eax, dword [esp + 0xd4]
add eax, 1
cmp eax, 4
mov dword [esp + 0xd4], eax
jl 0x43e650
mov ecx, dword [esp + 0x9c]
cmp ecx, dword [esp + 0x20]
jne 0x44040f
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], 4
mov dword [esp + 0x108], vtable.CRecordVector_int_.0
mov esi, dword [ebp + 0x10]
mov byte [esp + 0x40c], 0x19
xor edi, edi
cmp dword [esi + 8], ebx
jle 0x4404f5
jmp 0x43fa60
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + edi*4]
cmp byte [eax + 0x38], bl
je 0x4404c7
cmp byte [eax + 0x3b], bl
jne 0x4404dc
cmp byte [eax + 0x3a], bl
jne 0x4404dc
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
jmp 0x4404da
mov esi, 1
mov eax, dword [esp + 0x70]
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x43fb9b
push eax
call edi
test eax, eax
jne 0x43fb9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x43fb9f
lea ecx, [esp + 0x2e8]
push ecx
mov byte [esp + 0x410], 8
call fcn.0042f410
lea edx, [esp + 0x134]
push edx
mov byte [esp + 0x410], 4
call fcn.0042ecb0
lea eax, [esp + 0x11c]
push eax
mov byte [esp + 0x410], 3
call fcn.00440900
lea ecx, [esp + 0x218]
push ecx
mov byte [esp + 0x410], 2
call fcn.00440700
mov byte [esp + 0x40c], 1
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
mov byte [esp + 0x40c], bl
mov ecx, dword [esp + 0x20]
push ecx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
call dword [0x4eaef8]
mov edx, dword [esp + 0x24]
push edx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov eax, dword [esp + 0x50]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], esi
call dword [0x4eaef8]
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0049f9d0
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x43fbb6
push eax
call edi
test eax, eax
jne 0x43fbb6
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x43fbba
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x68]
cmp eax, ebx
je 0x43fbd1
push eax
call edi
test eax, eax
jne 0x43fbd1
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x43fbd5
mov dword [esp + 0x68], ebx
lea edx, [esp + 0x2e8]
push edx
mov byte [esp + 0x410], 8
call fcn.0042f410
lea eax, [esp + 0x134]
push eax
mov byte [esp + 0x410], 4
call fcn.0042ecb0
lea ecx, [esp + 0x11c]
push ecx
mov byte [esp + 0x410], 3
call fcn.00440900
lea edx, [esp + 0x218]
push edx
mov byte [esp + 0x410], 2
call fcn.00440700
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x40c], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x40c], bl
jmp 0x43dd26
mov byte [esp + 0x40c], 0xc
mov ecx, dword [esp + 0xe0]
push ecx
push ebx
lea ecx, [esp + 0xe0]
mov dword [esp + 0xe0], vtable.CBaseRecordVector.0
call dword [0x4eaef8]
mov edx, dword [esp + 0xe4]
push edx
call fcn.0049f9d0
mov byte [esp + 0x410], 0xb
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
je 0x43fcaf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x40c], 0xa
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x43fcc7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x70]
cmp eax, ebx
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x43fce4
push eax
call esi
test eax, eax
jne 0x43fce4
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x43fce8
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x43fcff
push eax
call esi
test eax, eax
jne 0x43fcff
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x43fd03
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x68]
cmp eax, ebx
je 0x43fd1a
push eax
call esi
test eax, eax
jne 0x43fd1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x43fd1e
mov dword [esp + 0x68], ebx
lea eax, [esp + 0x2e8]
push eax
mov byte [esp + 0x410], 8
call fcn.0042f410
lea ecx, [esp + 0x134]
push ecx
mov byte [esp + 0x410], 4
call fcn.0042ecb0
lea edx, [esp + 0x11c]
push edx
mov byte [esp + 0x410], 3
call fcn.00440900
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x410], 2
call fcn.00440700
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x40c], 1
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov byte [esp + 0x40c], bl
mov eax, dword [esp + 0x20]
push eax
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
call dword [0x4eaef8]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], esi
call dword [0x4eaef8]
mov eax, dword [esp + 0x50]
push eax
call fcn.0049f9d0
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x190]
push ecx
mov byte [esp + 0x410], 0xd
call fcn.00433f20
mov byte [esp + 0x40c], 0xc
mov edx, dword [esp + 0xe0]
push edx
push ebx
lea ecx, [esp + 0xe0]
mov dword [esp + 0xe0], vtable.CBaseRecordVector.0
call dword [0x4eaef8]
mov eax, dword [esp + 0xe4]
push eax
call fcn.0049f9d0
mov byte [esp + 0x410], 0xb
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
je 0x43fe7d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x40c], 0xa
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x43fe95
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x70]
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x43feb2
push eax
call edi
test eax, eax
jne 0x43feb2
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x43feb6
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x43fecd
push eax
call edi
test eax, eax
jne 0x43fecd
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x43fed1
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x68]
cmp eax, ebx
je 0x43fee8
push eax
call edi
test eax, eax
jne 0x43fee8
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x43feec
mov dword [esp + 0x68], ebx
lea eax, [esp + 0x2e8]
push eax
mov byte [esp + 0x410], 8
call fcn.0042f410
lea ecx, [esp + 0x134]
push ecx
mov byte [esp + 0x410], 4
call fcn.0042ecb0
lea edx, [esp + 0x11c]
push edx
mov byte [esp + 0x410], 3
call fcn.00440900
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x410], 2
call fcn.00440700
mov byte [esp + 0x40c], 1
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov byte [esp + 0x40c], bl
mov eax, dword [esp + 0x20]
push eax
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
call dword [0x4eaef8]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], esi
call dword [0x4eaef8]
mov eax, dword [esp + 0x50]
push eax
call fcn.0049f9d0
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x190]
push ecx
mov edi, eax
mov byte [esp + 0x410], 0xd
call fcn.00433f20
mov byte [esp + 0x40c], 0xc
mov edx, dword [esp + 0xe0]
push edx
push ebx
lea ecx, [esp + 0xe0]
mov dword [esp + 0xe0], vtable.CBaseRecordVector.0
call dword [0x4eaef8]
mov eax, dword [esp + 0xe4]
push eax
call fcn.0049f9d0
mov byte [esp + 0x410], 0xb
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
je 0x44004b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x40c], 0xa
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x440063
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x44007e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x44007e
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x440082
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x44009d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x44009d
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4400a1
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x68]
cmp eax, ebx
je 0x4400bc
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x4400bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4400c0
mov dword [esp + 0x68], ebx
lea eax, [esp + 0x2e8]
push eax
mov byte [esp + 0x410], 8
call fcn.0042f410
lea ecx, [esp + 0x134]
push ecx
mov byte [esp + 0x410], 4
call fcn.0042ecb0
lea edx, [esp + 0x11c]
push edx
mov byte [esp + 0x410], 3
call fcn.00440900
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x410], 2
call fcn.00440700
mov byte [esp + 0x40c], 1
mov ecx, dword [esi]
push esi
jmp 0x43fd81
push 0x4f7e44
lea ecx, [esp + 0x13]
push ecx
mov byte [esp + 0x17], bl
call fcn.004b1663
lea edx, [esp + 0x190]
push edx
mov byte [esp + 0x410], 0x16
call fcn.00433f20
mov byte [esp + 0x40c], 0x13
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x440164
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x40c], 0x12
mov eax, dword [esp + 0x17c]
push eax
call fcn.0049f9d0
mov byte [esp + 0x410], 0x11
mov ecx, dword [esp + 0xcc]
add esp, 4
push ecx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], edi
call dword [0x4eaef8]
mov edx, dword [esp + 0xcc]
push edx
call fcn.0049f9d0
mov byte [esp + 0x410], 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], edi
call dword [0x4eaef8]
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.0049f9d0
add esp, 4
lea edx, [esp + 0x2e8]
push edx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov byte [esp + 0x410], 8
call fcn.0042f410
lea eax, [esp + 0x134]
push eax
mov byte [esp + 0x410], 4
call fcn.0042ecb0
lea ecx, [esp + 0x11c]
push ecx
mov byte [esp + 0x410], 3
call fcn.00440900
lea edx, [esp + 0x218]
push edx
mov byte [esp + 0x410], 2
call fcn.00440700
mov byte [esp + 0x40c], 1
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov byte [esp + 0x40c], bl
mov edx, dword [esp + 0x20]
push edx
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], edi
call dword [0x4eaef8]
mov eax, dword [esp + 0x24]
push eax
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov ecx, dword [esp + 0x50]
add esp, 4
push ecx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], edi
call dword [0x4eaef8]
mov edx, dword [esp + 0x50]
push edx
call fcn.0049f9d0
mov eax, dword [esp + 0x3c]
add esp, 4
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x40c], 0x17
mov eax, dword [esp + 0x78]
push eax
call fcn.0049f9d0
add esp, 4
lea ecx, [esp + 0x190]
push ecx
mov byte [esp + 0x410], 0x16
call fcn.00433f20
mov byte [esp + 0x40c], 0x13
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x440334
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x40c], 0x12
mov ecx, dword [esp + 0x17c]
push ecx
call fcn.0049f9d0
mov byte [esp + 0x410], 0x11
mov edx, dword [esp + 0xcc]
add esp, 4
push edx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], esi
call dword [0x4eaef8]
mov eax, dword [esp + 0xcc]
push eax
call fcn.0049f9d0
mov byte [esp + 0x410], 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], esi
call dword [0x4eaef8]
mov edx, dword [esp + 0xb8]
push edx
call fcn.0049f9d0
add esp, 4
lea eax, [esp + 0x2e8]
push eax
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov byte [esp + 0x410], 8
call fcn.0042f410
lea ecx, [esp + 0x134]
push ecx
mov byte [esp + 0x410], 4
call fcn.0042ecb0
lea edx, [esp + 0x11c]
push edx
mov byte [esp + 0x410], 3
call fcn.00440900
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x410], 2
call fcn.00440700
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x40c], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x40c], bl
mov eax, dword [esp + 0x20]
push eax
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
call dword [0x4eaef8]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], esi
call dword [0x4eaef8]
mov eax, dword [esp + 0x50]
push eax
call fcn.0049f9d0
add esp, 4
mov eax, 0x80004005
mov ecx, dword [esp + 0x404]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x4404dc
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x1c], bl
jne 0x4404e9
push edi
lea eax, [esp + 0x10c]
call fcn.0041ccc0
add edi, 1
cmp edi, dword [esi + 8]
jl 0x43fa60
push esi
lea eax, [esp + 0x10c]
call fcn.00440820
mov eax, dword [esp + 0x110]
cmp eax, ebx
mov dword [esp + 0x30], ebx
jle 0x4405f2
jmp 0x440523
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
mov edi, dword [eax + edx*4]
push 4
lea esi, [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
call fcn.004197d0
mov byte [esp + 0x84], 1
mov byte [esp + 0x85], bl
mov byte [esp + 0x86], bl
mov byte [esp + 0x87], bl
mov byte [esp + 0x40c], 0x1a
cmp byte [edi + 0x39], bl
je 0x440596
lea ecx, [esp + 0x1f0]
push ecx
lea ebx, [esp + 0x6c]
mov esi, edi
call fcn.0043d120
add esp, 4
jmp 0x4405ad
mov eax, dword [ebp + 0xc]
mov esi, dword [edi]
lea edx, [esp + 0x68]
push edx
push eax
lea ebx, [esp + 0x1f8]
call fcn.0043be60
mov edi, dword [ebp + 0x18]
lea ecx, [esp + 0x68]
push ecx
lea esi, [esp + 0x1f4]
call fcn.0043bfc0
mov byte [esp + 0x40c], 0x19
mov edx, dword [esp + 0x78]
push edx
call fcn.0049f9d0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x114]
add ecx, 1
add esp, 4
xor ebx, ebx
cmp ecx, eax
mov dword [esp + 0x30], ecx
jl 0x440520
push eax
mov byte [esp + 0x410], 4
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x110]
mov dword [esp + 0x110], esi
call dword [0x4eaef8]
mov eax, dword [esp + 0x114]
push eax
call fcn.0049f9d0
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov ebx, dword [ebp + 0x18]
add esp, 4
call fcn.0043c540
lea ecx, [esp + 0x11c]
push ecx
mov byte [esp + 0x410], 3
call fcn.00440900
lea edx, [esp + 0x218]
push edx
mov byte [esp + 0x410], 2
call fcn.00440700
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x40c], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
mov byte [esp + 0x40c], bl
mov eax, dword [esp + 0x20]
push eax
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
call dword [0x4eaef8]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0049f9d0
mov dword [esp + 0x410], 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], esi
call dword [0x4eaef8]
mov eax, dword [esp + 0x50]
push eax
call fcn.0049f9d0
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x404]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret