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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45f808
mov eax, dword fs:[0]
push eax
sub esp, 0x3f8
push ebx
push esi
push edi
mov eax, dword [0x472100]
xor eax, esp
push eax
lea eax, [esp + 0x408]
mov dword fs:[0], eax
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x11c], eax
or eax, ecx
mov dword [esp + 0x120], ecx
jne 0x43267f
mov dword [esp + 0x11c], 1
mov dword [esp + 0x120], eax
cmp dword [ebp + 0xc], 0
je 0x4326d6
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x13c]
test edi, edi
mov ebx, dword [eax + 0x138]
ja 0x43269c
test ebx, ebx
jbe 0x4326d6
cmp byte [edx + 0x21], 0
jne 0x4326d6
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 0x435760
mov edx, dword [ebp + 0x1c]
push eax
push edi
push ebx
push edx
mov ecx, esi
call fcn.00431aa0
add esp, 0x10
test eax, eax
jne 0x435760
xor ebx, ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 4
mov dword [esp + 0x40], vtable.CRecordVector_int_.0
mov dword [esp + 0x410], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0xc
mov dword [esp + 0x20], vtable.CRecordVector_struct_NArchive::N7z::CFolderRepack_.0
cmp dword [ebp + 0xc], ebx
mov byte [esp + 0x410], 1
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov byte [esp + 0x16], bl
je 0x432a35
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x6c]
lea esi, [esp + 0x40]
call fcn.004428d0
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x6c], ebx
jle 0x4327b0
nop
mov ecx, dword [esp + 0x44]
cmp dword [esp + 0x48], ecx
jne 0x432791
cmp ecx, 0x40
mov eax, 1
jl 0x43277b
mov eax, ecx
shr eax, 2
jmp 0x432785
cmp ecx, 8
jl 0x432785
mov eax, 8
lea edi, [eax + ecx]
lea esi, [esp + 0x40]
call fcn.004428d0
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov ecx, dword [ebp + 0xc]
mov dword [edx + eax*4], 0xffffffff
add dword [esp + 0x48], 1
add ebx, 1
cmp ebx, dword [ecx + 0x6c]
jl 0x432760
mov edx, dword [ebp + 0x10]
xor eax, eax
cmp dword [edx + 8], eax
jle 0x4327dc
lea ebx, [ebx]
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + eax*4]
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x4327d4
mov esi, dword [esp + 0x4c]
mov dword [esi + ecx*4], eax
add eax, 1
cmp eax, dword [edx + 8]
jl 0x4327c0
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x44], 0
mov dword [esp + 0x1c], 0
jle 0x432a26
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x5c]
mov eax, dword [esp + 0x1c]
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 + 0x3c], esi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
jbe 0x432a0f
mov ecx, dword [esp + 0x4c]
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 0x43286f
mov eax, dword [edx]
add esi, 1
test eax, eax
jl 0x43286f
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx + 0xc]
mov eax, dword [ebx + eax*4]
cmp byte [eax + 0x38], 0
jne 0x43286f
mov eax, dword [ecx]
add dword [esp + 0x3c], 1
add dword [esp + 0x94], eax
mov ecx, dword [ecx + 4]
adc dword [esp + 0x98], ecx
add edx, 4
cmp esi, dword [esp + 0x60]
jb 0x432836
cmp dword [esp + 0x3c], 0
je 0x432a0f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0x1c]
mov edi, dword [eax + ecx*4]
mov ebx, dword [edi + 8]
lea eax, [ebx - 1]
test eax, eax
jl 0x4328be
mov edx, dword [edi + 0xc]
lea ecx, [edx + eax*4]
mov edx, dword [ecx]
cmp dword [edx], 0x6f10701
jne 0x4328b4
cmp dword [edx + 4], 0
je 0x43292c
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x4328a0
mov byte [esp + 0x17], 0
xor esi, esi
test ebx, ebx
jle 0x4328f9
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 0x4328e3
test eax, eax
je 0x432933
cmp ecx, 0x303011b
jne 0x4328ef
test eax, eax
je 0x432933
add esi, 1
add edx, 4
cmp esi, ebx
jl 0x4328d0
xor al, al
mov ecx, dword [esp + 0x28]
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 + 0x24]
cmp ecx, eax
jne 0x432951
cmp eax, 0x40
mov ecx, 1
jl 0x432937
mov ecx, eax
shr ecx, 2
jmp 0x432941
mov byte [esp + 0x17], 1
jmp 0x4328c3
mov al, 1
jmp 0x4328fb
cmp eax, 8
jl 0x432941
mov ecx, 8
lea edi, [ecx + eax]
lea esi, [esp + 0x20]
call fcn.004428d0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + ecx*2]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
add dword [esp + 0x28], 1
cmp ecx, dword [esp + 0x60]
jne 0x4329c5
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x190]
mov eax, dword [esp + 0x1c]
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 0x4329b5
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 0x4329a2
add dword [esp + 0xac], esi
adc dword [esp + 0xb0], edi
jmp 0x432a0f
mov ecx, dword [esp + 0x94]
add dword [esp + 0xac], ecx
mov eax, dword [esp + 0x98]
adc dword [esp + 0xb0], eax
cmp eax, dword [esp + 0x90]
jb 0x432a03
ja 0x4329f5
cmp ecx, dword [esp + 0x8c]
jbe 0x432a03
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
cmp byte [esp + 0x17], 0
je 0x432a0f
mov byte [esp + 0x16], 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0xc]
add eax, 1
cmp eax, dword [ecx + 0x44]
mov dword [esp + 0x1c], eax
jl 0x4327f1
mov edx, dword [ebp + 0xc]
push edx
lea eax, [esp + 0x24]
call fcn.0040d8a0
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 + 0x94], esi
mov dword [esp + 0x98], edx
mov dword [esp + 0x34], eax
jle 0x432adc
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xa8], eax
jmp 0x432a70
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
cmp byte [ecx + 0x38], 0
je 0x432abd
mov eax, dword [ecx + 0x20]
add dword [esp + 0xac], eax
mov ecx, dword [ecx + 0x24]
adc dword [esp + 0xb0], ecx
cmp dword [esp + 0x11c], 1
jne 0x432aa7
cmp dword [esp + 0x120], 0
je 0x432aad
add esi, eax
adc edx, ecx
jmp 0x432abb
cmp ecx, edx
jb 0x432abb
ja 0x432ab7
cmp eax, esi
jbe 0x432abb
mov esi, eax
mov edx, ecx
xor ebx, ebx
add dword [esp + 0xa8], 4
add edi, 1
cmp edi, dword [esp + 0x34]
jl 0x432a70
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x90]
cmp eax, edx
jb 0x432b09
ja 0x432af2
cmp dword [esp + 0x8c], esi
jbe 0x432b09
mov esi, dword [esp + 0x8c]
mov edx, eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], edx
cmp edx, ebx
ja 0x432b29
jb 0x432b17
cmp esi, 0x10000
jae 0x432b29
mov dword [esp + 0x94], 0x10000
mov dword [esp + 0x98], ebx
mov eax, dword [esp + 0xb0]
mov edi, dword [ebp + 0x20]
mov ecx, dword [esp + 0xac]
mov edx, dword [edi]
mov edx, dword [edx + 0xc]
push eax
push ecx
push edi
call edx
mov esi, eax
cmp esi, ebx
je 0x432bcc
mov byte [esp + 0x410], 0
mov eax, dword [esp + 0x28]
push eax
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], edi
push ebx
lea ecx, [esp + 0x48]
call dword [0x4685b0]
mov eax, dword [esp + 0x4c]
push eax
call fcn.00410615
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x38
call fcn.004122e2
mov ebx, eax
xor eax, eax
add esp, 4
cmp ebx, eax
mov dword [esp + 0x58], ebx
jne 0x432bf7
push 0x46ca6c
lea ecx, [esp + 0x1a]
xor al, al
push ecx
mov byte [esp + 0x1e], al
call fcn.00413fdb
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 + 0x1f4], ebx
call eax
mov byte [esp + 0x410], 2
mov eax, dword [esi]
test eax, eax
je 0x432c4e
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 0x432c65
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 0x468d88
push eax
call edx
lea eax, [esp + 0x21c]
push eax
mov byte [ebx + 0x10], 1
call fcn.0040d5b0
mov byte [esp + 0x410], 3
cmp dword [esp + 0x28], 0
je 0x432d56
lea esi, [esp + 0x21c]
call fcn.0045bab0
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x432d58
lea ecx, [esp + 0x21c]
push ecx
mov byte [esp + 0x414], 2
call fcn.0040d700
mov byte [esp + 0x410], 1
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push ebx
call eax
mov byte [esp + 0x410], 0
mov ecx, dword [esp + 0x28]
push ecx
mov ebx, vtable.CBaseRecordVector.0
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], ebx
call dword [0x4685b0]
mov edx, dword [esp + 0x2c]
push edx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov eax, dword [esp + 0x4c]
add esp, 4
push eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x44], ebx
push edi
lea ecx, [esp + 0x48]
call dword [0x4685b0]
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.00410615
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
mov dword [esp + 0x128], edi
mov dword [esp + 0x12c], edi
mov dword [esp + 0x130], edi
mov edi, 4
mov dword [esp + 0x134], edi
mov dword [esp + method.CObjectVector_struct_NArchive::N7z::CSolidGroup_.virtual_0], vtable.CObjectVector_struct_NArchive::N7z::CSolidGroup_.0
mov esi, edi
jmp 0x432d90
xor eax, eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edi
mov dword [esp + 0xb4], vtable.CRecordVector_unsigned_int_.0
lea edx, [esp + 0xb4]
push edx
lea ecx, [esp + 0x128]
mov byte [esp + 0x414], 5
call fcn.0040d9b0
mov byte [esp + 0x410], 4
mov eax, dword [esp + 0xbc]
push eax
push 0
lea ecx, [esp + 0xbc]
mov dword [esp + 0xbc], vtable.CBaseRecordVector.0
call dword [0x4685b0]
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.00410615
add esp, 4
sub esi, 1
jne 0x432d90
mov eax, dword [ebp + 0x24]
mov dl, byte [eax + 8]
mov eax, dword [eax]
cmp dword [eax + 8], 1
mov byte [esp + 0x6b], dl
mov dword [esp + 0x34], eax
jne 0x432e33
cmp dword [eax + 0x1c], esi
je 0x432e38
mov byte [esp + 0x6b], 0
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 8]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x38], eax
jle 0x432f80
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + eax*4]
cmp byte [ecx + 0x38], 0
je 0x432f70
cmp byte [ecx + 0x3b], 0
jne 0x432f70
cmp byte [ecx + 0x3a], 0
jne 0x432f70
mov esi, dword [ecx + 0x20]
or esi, dword [ecx + 0x24]
je 0x432f70
cmp byte [esp + 0x6b], 0
mov byte [esp + 0x17], 0
je 0x432f03
mov eax, dword [ecx + 0x2c]
test eax, eax
lea edx, [ecx + 0x28]
je 0x432f03
mov ecx, dword [edx]
cmp word [ecx + eax*2 - 2], 0x2e
lea eax, [ecx + eax*2 - 2]
je 0x432ead
cmp eax, ecx
je 0x432f03
sub eax, 2
cmp word [eax], 0x2e
jne 0x432ea0
sub eax, ecx
sar eax, 1
test eax, eax
jl 0x432f03
add eax, 1
lea esi, [esp + 0x108]
call fcn.00408050
mov edi, eax
xor esi, esi
jmp 0x432ed0
mov eax, dword [esi + 0x473578]
mov edx, dword [edi]
push eax
push edx
call fcn.00442ba0
add esp, 8
test eax, eax
je 0x432f3f
add esi, 4
cmp esi, 0x14
jb 0x432ed0
mov byte [esp + 0x17], 0
mov eax, dword [esp + 0x108]
push eax
call fcn.00410615
add esp, 4
mov ecx, dword [esp + 0x34]
mov dl, byte [ecx + 0x2c]
mov ecx, dword [esp + 0x130]
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 0x432f5c
cmp eax, 0x40
mov ecx, 1
jl 0x432f46
mov ecx, eax
shr ecx, 2
jmp 0x432f50
mov byte [esp + 0x17], 1
jmp 0x432ef3
cmp eax, 8
jl 0x432f50
mov ecx, 8
lea edi, [eax + ecx]
call fcn.004428d0
mov ebx, dword [esp + 0x58]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x38]
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 + 0x38], eax
jl 0x432e4c
cmp byte [esp + 0x16], 0
mov dword [esp + 0x180], 0
je 0x4333a7
push 0x14
call fcn.004122e2
mov edi, eax
add esp, 4
test edi, edi
jne 0x432fbb
push 0x46ca6c
lea edx, [esp + 0x1a]
xor al, al
push edx
mov byte [esp + 0x1e], al
call fcn.00413fdb
mov dword [esp + 0x64], edi
xor eax, eax
mov byte [esp + 0x410], 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.0041000f
add esp, 4
cmp dword [esi + 8], 0
mov dword [esp + 0x60], eax
jle 0x43302d
xor eax, eax
cmp dword [esi + 4], eax
jle 0x433022
mov ecx, dword [esp + 0x60]
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 0x433010
mov eax, dword [esi]
push eax
call fcn.00410615
add esp, 4
mov eax, dword [esp + 0x60]
mov ecx, dword [esi + 4]
mov dword [esi], eax
mov word [eax + ecx*2], 0
mov byte [esp + 0x410], 4
mov dword [esi + 8], 4
mov edx, dword [edi]
mov eax, dword [edx + 4]
push edi
mov dword [esp + 0x184], edi
call eax
mov eax, dword [esp + 0x254]
test eax, eax
je 0x43306d
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 + 0x254], edi
cmp byte [eax + 0x2c], 0
je 0x43312c
lea edi, [eax + 0x30]
cmp edi, esi
mov dword [esp + 0x34], edi
je 0x4333a7
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 0x433104
xor ecx, ecx
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041000f
add esp, 4
cmp dword [esi + 8], 0
mov edi, eax
jle 0x4330f2
xor eax, eax
cmp dword [esi + 4], eax
jle 0x4330e7
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 0x4330d5
mov eax, dword [esi]
push eax
call fcn.00410615
add esp, 4
mov eax, dword [esi + 4]
mov dword [esi], edi
mov word [edi + eax*2], 0
mov edi, dword [esp + 0x34]
mov dword [esi + 8], ebx
mov edx, dword [edi]
mov ecx, dword [esi]
jmp 0x433110
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x433110
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
jmp 0x4333a7
cmp dword [ebp + 0x28], 0
jne 0x4331f3
lea edx, [esp + 0x124]
push edx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x414], 2
call fcn.0040d700
mov byte [esp + 0x410], 1
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov byte [esp + 0x410], 0
mov eax, dword [esp + 0x28]
push eax
xor edi, edi
mov esi, vtable.CBaseRecordVector.0
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
push edi
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], esi
call dword [0x4685b0]
mov eax, dword [esp + 0x4c]
push eax
call fcn.00410615
add esp, 4
mov eax, 0x80004001
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x3c], 0
mov eax, dword [ebp + 0x28]
lea edx, [esp + 0x3c]
mov byte [esp + 0x410], 7
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x4332e2
mov ecx, dword [esp + 0x3c]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea edx, [esp + 0x124]
push edx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x414], 2
call fcn.0040d700
mov byte [esp + 0x410], 1
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov byte [esp + 0x410], 0
mov eax, dword [esp + 0x28]
push eax
xor ebx, ebx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], esi
call dword [0x4685b0]
mov eax, dword [esp + 0x4c]
push eax
call fcn.00410615
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x3c]
mov ecx, dword [esi]
mov dword [esi + 4], 0
xor ebx, ebx
mov word [ecx], 0
cmp word [edx], bx
mov dword [esp + 0x34], edx
mov dword [esp + 0x60], ebx
je 0x433311
add ebx, 1
cmp word [edx + ebx*2], 0
jne 0x433303
mov dword [esp + 0x60], ebx
lea edi, [ebx + 1]
cmp edi, dword [esi + 8]
je 0x433376
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041000f
add esp, 4
cmp dword [esi + 8], 0
mov ebx, eax
jle 0x433360
xor eax, eax
cmp dword [esi + 4], eax
jle 0x433355
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 0x433343
mov eax, dword [esi]
push eax
call fcn.00410615
add esp, 4
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x34]
mov dword [esi], ebx
mov word [ebx + eax*2], 0
mov ebx, dword [esp + 0x60]
mov dword [esi + 8], edi
mov ecx, dword [esi]
jmp 0x433380
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x433380
mov byte [esp + 0x410], 4
mov ecx, dword [esp + 0x3c]
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.00436210
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x433479
lea edx, [esp + 0x124]
push edx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x414], 2
call fcn.0040d700
mov eax, dword [esp + 0x58]
mov byte [esp + 0x410], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x410], bl
mov eax, dword [esp + 0x28]
push eax
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], esi
call dword [0x4685b0]
mov eax, dword [esp + 0x4c]
push eax
call fcn.00410615
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
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 0x433525
lea eax, [esp + 0x124]
push eax
mov byte [esp + 0x414], 3
call fcn.0040d920
lea ecx, [esp + 0x21c]
push ecx
mov byte [esp + 0x414], 2
call fcn.0040d700
mov eax, dword [esp + 0x58]
mov byte [esp + 0x410], 1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x410], bl
mov ecx, dword [esp + 0x28]
push ecx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4685b0]
mov edx, dword [esp + 0x2c]
push edx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov eax, dword [esp + 0x4c]
add esp, 4
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], edi
push ebx
jmp 0x432d27
mov eax, dword [esp + 0x58]
mov dword [esp + 0xa8], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [esp + 0x3c], ebx
lea ebx, [ebx]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4]
lea ecx, [esp + 0x138]
push ecx
mov dword [esp + 0xa8], eax
call fcn.00409cc0
test bl, 1
mov byte [esp + 0x410], 8
je 0x43358e
mov eax, dword [ebp + 0x24]
movzx edx, byte [eax + 9]
mov eax, dword [eax]
push edx
push eax
lea ecx, [esp + 0x140]
call fcn.004321c0
add esp, 8
jmp 0x43371b
mov edx, dword [esp + 0x140]
mov ecx, dword [ebp + 0x24]
mov eax, dword [esp + 0x138]
mov ebx, dword [ecx]
push edx
mov edx, dword [eax + 4]
push 0
lea ecx, [esp + 0x140]
call edx
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x140]
lea edi, [eax + ecx]
lea esi, [esp + 0x138]
mov dword [esp + 0x18], eax
call fcn.004428d0
xor esi, esi
cmp dword [esp + 0x18], esi
jle 0x4335f9
mov edi, dword [esp + 0x18]
lea esp, [esp]
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + esi*4]
lea edx, [esp + 0x138]
call fcn.0040a0c0
add esi, 1
cmp esi, edi
jl 0x4335e0
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x14c]
push eax
mov eax, dword [edx + 4]
push 0
lea ecx, [esp + 0x154]
call eax
lea ecx, [ebx + 0x14]
push ecx
lea eax, [esp + 0x150]
call fcn.0040a880
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x160], edx
mov al, byte [ebx + 0x2c]
add ebx, 0x30
lea ecx, [esp + 0x168]
cmp ebx, ecx
mov byte [esp + 0x164], al
je 0x43371b
mov edx, dword [esp + 0x168]
mov dword [esp + 0x16c], 0
mov word [edx], 0
mov edi, dword [ebx + 4]
add edi, 1
cmp edi, dword [esp + 0x170]
je 0x4336f6
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041000f
add esp, 4
cmp dword [esp + 0x170], 0
mov esi, eax
jle 0x4336db
xor eax, eax
cmp dword [esp + 0x16c], eax
jle 0x4336cb
jmp 0x4336b0
mov ecx, dword [esp + 0x168]
mov dx, word [ecx + eax*2]
mov word [esi + eax*2], dx
add eax, 1
cmp eax, dword [esp + 0x16c]
jl 0x4336b0
mov eax, dword [esp + 0x168]
push eax
call fcn.00410615
add esp, 4
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x168], esi
mov word [esi + ecx*2], 0
mov dword [esp + 0x170], edi
mov edx, dword [ebx]
mov ecx, dword [esp + 0x168]
nop
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x433700
mov edx, dword [ebx + 4]
mov dword [esp + 0x16c], edx
mov eax, dword [esp + 0x3c]
shr eax, 1
test al, 1
je 0x433825
cmp byte [esp + 0x164], 0
jne 0x433844
mov ebx, dword [esp + 0x180]
test ebx, ebx
je 0x43381b
add ebx, 8
lea ecx, [esp + 0x168]
cmp ebx, ecx
je 0x43381b
mov edx, dword [esp + 0x168]
mov dword [esp + 0x16c], 0
mov word [edx], 0
mov edi, dword [ebx + 4]
add edi, 1
cmp edi, dword [esp + 0x170]
je 0x4337f6
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041000f
add esp, 4
cmp dword [esp + 0x170], 0
mov esi, eax
jle 0x4337db
xor eax, eax
cmp dword [esp + 0x16c], eax
jle 0x4337cb
mov ecx, dword [esp + 0x168]
mov dx, word [ecx + eax*2]
mov word [esi + eax*2], dx
add eax, 1
cmp eax, dword [esp + 0x16c]
jl 0x4337b0
mov eax, dword [esp + 0x168]
push eax
call fcn.00410615
add esp, 4
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x168], esi
mov word [esi + ecx*2], 0
mov dword [esp + 0x170], edi
mov edx, dword [ebx]
mov ecx, dword [esp + 0x168]
nop
movzx eax, word [edx]
mov word [ecx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x433800
mov edx, dword [ebx + 4]
mov dword [esp + 0x16c], edx
mov byte [esp + 0x164], 1
jmp 0x433844
mov eax, dword [esp + 0x168]
mov byte [esp + 0x164], 0
mov dword [esp + 0x16c], 0
mov word [eax], 0
lea ecx, [esp + 0x138]
push ecx
lea edx, [esp + 0x2f0]
push edx
call fcn.0045a2a0
mov ecx, dword [esp + 0xa8]
mov byte [esp + 0x410], 9
cmp ecx, dword [esp + 0x28]
jge 0x4341c3
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0xa0], ecx
jmp 0x433897
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
cmp dword [ecx + eax + 4], edx
jne 0x4341c3
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + eax]
mov ebx, dword [ebp + 0xc]
lea eax, [ecx + eax + 8]
mov ecx, dword [ebx + 0x5c]
lea edi, [edx*4]
mov edx, dword [eax]
cmp edx, dword [edi + ecx]
mov dword [esp + 0x38], edi
mov dword [esp + 0x64], eax
jne 0x433a8b
mov eax, dword [ebx + 0x190]
mov edx, dword [edi + eax]
mov ecx, dword [ebx + 0x48]
mov eax, dword [edi + ecx]
mov eax, dword [eax + 0x30]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x34], eax
jle 0x43392e
mov eax, dword [ebx + 0xc]
lea eax, [eax + edx*8]
mov edx, dword [eax]
add dword [esp + 0x8c], edx
mov edx, dword [eax + 4]
adc dword [esp + 0x90], edx
add ecx, 1
add eax, 8
cmp ecx, dword [esp + 0x34]
jl 0x43390b
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x17c]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
add eax, dword [ebx + 0x148]
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + 0x50]
adc ecx, dword [ebx + 0x14c]
push 0
push 0
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 8]
mov esi, dword [edx]
push ecx
push eax
mov eax, dword [esi + 0x10]
push edx
call eax
test eax, eax
mov esi, dword [esp + 0x58]
jne 0x43398b
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x34]
push esi
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
call fcn.00431aa0
add esp, 0x10
test eax, eax
mov dword [esp + 0x18], eax
jne 0x434a19
mov ecx, dword [esp + 0x8c]
add dword [esi + 0x18], ecx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x18], 0
adc dword [esi + 0x1c], edx
mov eax, dword [ebx + 0x48]
mov ecx, dword [edi + eax]
cmp dword [ecx + 0x30], 0
mov edx, dword [ebx + 0x190]
mov eax, dword [edi + edx]
mov dword [esp + 0x34], ecx
jle 0x433a7a
lea edx, [eax*8]
mov dword [esp + 0x54], edx
jmp 0x4339e0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx + eax]
mov eax, dword [edx + eax + 4]
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x190], eax
mov eax, dword [esi + 4]
cmp dword [esi + 8], eax
mov dword [esp + 0x18c], ecx
jne 0x433a2a
cmp eax, 0x40
mov ecx, 1
jl 0x433a14
mov ecx, eax
shr ecx, 2
jmp 0x433a1e
cmp eax, 8
jl 0x433a1e
mov ecx, 8
lea edi, [ecx + eax]
call fcn.004428d0
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x18c]
mov dword [eax + ecx*8], edi
mov edi, dword [esp + 0x190]
mov dword [eax + ecx*8 + 4], edi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
add dword [esi + 8], 1
add eax, 1
add edx, 8
cmp eax, dword [ecx + 0x30]
mov dword [esp + 0x18], eax
mov dword [esp + 0x54], edx
jl 0x4339e0
mov edi, dword [esp + 0x38]
push ecx
lea ecx, [esi + 0x3c]
call fcn.0040c880
jmp 0x433f42
mov esi, dword [ebp + 0x18]
push ecx
lea ecx, [esi + 0x3c]
call fcn.0040c880
jmp 0x433f42
xor edi, edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
push edi
push 1
push 1
mov byte [esp + 0x41c], 0xa
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push edi
call esi
cmp eax, edi
mov dword [esp + 0x6c], eax
jne 0x433ac8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jne 0x433af4
mov eax, 1
jmp 0x433af4
push edi
push edi
push 1
push edi
call esi
cmp eax, edi
mov dword [esp + 0x70], eax
je 0x433ab7
push edi
push edi
push 1
push edi
call esi
cmp eax, edi
mov dword [esp + 0x74], eax
jne 0x433afe
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
je 0x4349ec
mov esi, eax
cmp esi, edi
jne 0x4349f1
xor esi, esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x20]
push edx
lea edi, [esp + 0x74]
mov byte [esp + 0x418], 0xc
call fcn.00458530
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], 1
mov dword [esp + 0xdc], vtable.CRecordVector_bool_.0
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x410], 0xd
mov eax, dword [ebx + 0x5c]
mov eax, dword [ecx + eax]
cmp eax, esi
mov edx, dword [ebx + 0x1a4]
mov ecx, dword [ecx + edx]
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], esi
jbe 0x433c35
lea eax, [ecx*4]
mov dword [esp + 0x54], eax
mov ecx, eax
lea edi, [esi + 1]
jmp 0x433b97
mov esi, dword [esp + 0xe0]
mov edx, dword [ebx + 0x70]
mov eax, dword [ecx + edx]
cmp byte [eax + 0x1c], 0
mov byte [esp + 0x16], 0
je 0x433bcb
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + ecx]
add dword [esp + 0x18], edi
test eax, eax
jl 0x433bcb
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x38], 0
jne 0x433bcb
mov byte [esp + 0x16], 1
cmp dword [esp + 0xe4], esi
jne 0x433c04
cmp esi, 0x40
mov eax, edi
jl 0x433be2
mov eax, esi
shr eax, 2
jmp 0x433bec
cmp esi, 8
jl 0x433bec
mov eax, 8
lea edi, [esi + eax]
lea esi, [esp + 0xdc]
call fcn.004428d0
mov ecx, dword [esp + 0x54]
mov edi, 1
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0xe4]
mov dl, byte [esp + 0x16]
mov byte [eax + esi], dl
mov eax, dword [esp + 0x18]
add dword [esp + 0xe4], edi
add ecx, 4
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x54], ecx
jb 0x433b90
mov eax, dword [ebx + 0x1a4]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x238]
mov eax, dword [eax]
mov edi, dword [esp + 0x5c]
test edi, edi
lea ecx, [esp + 0xdc]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x1c], eax
mov dword [esi + 0x14], ecx
je 0x433c68
mov edx, dword [edi]
mov eax, dword [edx + 4]
push edi
call eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x433c77
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x18], edi
mov eax, esi
mov dword [esi + 0x20], 0
mov byte [esi + 0x24], 0
call fcn.00431f40
mov esi, eax
test esi, esi
jne 0x434bf5
test edi, edi
je 0x433ca6
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov dword [esp + 0x5c], esi
mov edi, dword [ebp + 8]
test edi, edi
je 0x433cb5
mov edx, dword [edi]
mov eax, dword [edx + 4]
push edi
call eax
mov eax, dword [esp + 0x234]
test eax, eax
je 0x433cc8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebx + 0x48]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x234], edi
mov edx, dword [eax + ecx]
mov ecx, dword [ebx + 0x190]
add eax, ecx
mov ecx, dword [ebx + 0x17c]
mov dword [esp + 0x250], edx
mov edx, dword [eax]
mov esi, dword [ecx + edx*8]
mov edx, dword [ecx + edx*8 + 4]
add esi, dword [ebx + 0x148]
mov ecx, dword [ebx + 0xc]
adc edx, dword [ebx + 0x14c]
mov dword [esp + 0x244], esi
mov dword [esp + 0x248], edx
mov eax, dword [eax]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x220]
push eax
mov dword [esp + 0x250], edx
mov byte [esp + 0x230], 0
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x433d40
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 8]
xor eax, eax
mov edx, 4
mov esi, 8
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], eax
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], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], esi
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_struct_NArchive::N7z::CBindPair_.0
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], edx
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_int_.0
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], esi
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov byte [esp + 0x1e8], al
mov esi, dword [esp + 0x58]
mov edx, dword [ebp + 0x14]
push esi
push ecx
mov byte [esp + 0x418], 0xe
mov eax, dword [edx + 0x50]
mov edx, dword [esp + 0x24]
push eax
lea eax, [esp + 0x1a0]
push eax
lea ecx, [esp + 0xa4]
push ecx
push edx
lea eax, [esp + 0x304]
push eax
call fcn.0045a8d0
test eax, eax
mov dword [esp + 0x34], eax
jne 0x434d3d
mov ecx, dword [esp + 0x224]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x230]
test eax, eax
jne 0x434f0d
mov ecx, dword [ebp + 0x18]
cmp edi, dword [ecx + 8]
jge 0x433e78
nop
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 0x433e60
lea edi, [esp + 0x194]
call fcn.0040a9c0
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.0040c880
mov edx, edi
push edx
mov byte [esp + 0x414], 0xd
call fcn.0040c2b0
mov byte [esp + 0x410], 0xc
mov eax, dword [esp + 0xe4]
push eax
xor esi, esi
push esi
lea ecx, [esp + 0xe4]
mov dword [esp + 0xe4], vtable.CBaseRecordVector.0
call dword [0x4685b0]
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.00410615
add esp, 4
mov byte [esp + 0x410], 0xb
cmp dword [esp + 0x1c], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], esi
je 0x433f12
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x410], 0xa
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x433f2a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea esi, [esp + 0x6c]
mov byte [esp + 0x410], 9
call fcn.004072c0
mov esi, dword [ebp + 0x18]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
mov eax, dword [esi + 0x54]
add esi, 0x50
cmp dword [esi + 8], eax
mov dword [esp + 0x64], ecx
jne 0x433f7e
cmp eax, 0x40
mov ecx, 1
jl 0x433f68
mov ecx, eax
shr ecx, 2
jmp 0x433f72
cmp eax, 8
jl 0x433f72
mov ecx, 8
lea edi, [eax + ecx]
call fcn.004428d0
mov edi, dword [esp + 0x38]
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0x64]
mov eax, dword [esi + 0xc]
mov dword [eax + edx*4], ecx
add dword [esi + 8], 1
mov edx, dword [ebx + 0x5c]
mov eax, dword [edi + edx]
test eax, eax
mov ecx, dword [ebx + 0x1a4]
mov edi, dword [edi + ecx]
mov dword [esp + 0x64], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x54], edi
jbe 0x4341a0
jmp 0x433fbb
mov ebx, dword [ebp + 0xc]
xor eax, eax
push 4
lea esi, [esp + 0x80]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
call fcn.00406380
mov byte [esp + 0x88], 1
mov byte [esp + 0x89], 0
mov byte [esp + 0x8a], 0
mov byte [esp + 0x8b], 0
lea edx, [esp + 0x6c]
push edx
push ebx
lea ebx, [esp + 0x1fc]
mov esi, edi
mov byte [esp + 0x418], 0xf
call fcn.00435de0
xor ebx, ebx
cmp byte [esp + 0x88], bl
je 0x434172
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + edi*4]
add dword [esp + 0x18], 1
cmp eax, ebx
jl 0x434172
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov edi, dword [edx + eax*4]
cmp byte [edi + 0x38], bl
jne 0x434172
cmp byte [edi + 0x39], bl
je 0x43415e
push 4
lea esi, [esp + 0xf0]
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
call fcn.00406380
mov byte [esp + 0xf8], 1
mov byte [esp + 0xf9], bl
mov byte [esp + 0xfa], bl
mov byte [esp + 0xfb], bl
lea ecx, [esp + 0x1f4]
push ecx
lea ebx, [esp + 0xe0]
mov esi, edi
mov byte [esp + 0x414], 0x10
call fcn.00431c60
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
mov bl, byte [esp + 0x8e]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xe0], edx
movzx edx, byte [esp + 0x8c]
mov dword [esp + 0x78], eax
add esp, 4
lea edi, [esp + 0xec]
lea eax, [esp + 0x7c]
mov dword [esp + 0xe8], ecx
mov byte [esp + 0xfa], bl
mov byte [esp + 0xf8], dl
call fcn.00407f80
mov cl, byte [esp + 0xf8]
movzx edx, byte [esp + 0xf9]
mov al, byte [esp + 0xfb]
mov byte [esp + 0x88], cl
mov byte [esp + 0x410], 0xf
mov ecx, dword [esp + 0xec]
push ecx
mov byte [esp + 0x8d], dl
mov byte [esp + 0x8e], bl
mov byte [esp + 0x8f], al
call fcn.00410615
add esp, 4
mov edi, dword [ebp + 0x18]
lea edx, [esp + 0x6c]
push edx
lea esi, [esp + 0x1f8]
call fcn.00435f60
mov byte [esp + 0x410], 9
mov eax, dword [esp + 0x7c]
push eax
call fcn.00410615
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x1c]
add edi, 1
add esp, 4
cmp ecx, dword [esp + 0x64]
mov dword [esp + 0x54], edi
jb 0x433fb8
mov eax, dword [esp + 0xa8]
add dword [esp + 0xa0], 0xc
add eax, 1
cmp eax, dword [esp + 0x28]
mov dword [esp + 0xa8], eax
jl 0x433890
mov edx, dword [esp + 0xa4]
mov ebx, dword [edx + 8]
xor esi, esi
cmp ebx, esi
mov dword [esp + 0xa0], ebx
jne 0x43420e
lea eax, [esp + 0x2ec]
push eax
mov byte [esp + 0x414], 8
call fcn.00459940
lea ecx, [esp + 0x138]
push ecx
mov byte [esp + 0x414], 4
call fcn.00409e10
mov edi, vtable.CBaseRecordVector.0
jmp 0x43493a
xor eax, eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0x14
mov dword [esp + 0xb4], 0x468b60
mov edi, ebx
lea esi, [esp + 0xb4]
mov byte [esp + 0x410], 0x11
call fcn.004428d0
cmp dword [esp + 0x120], 0
ja 0x434265
cmp dword [esp + 0x11c], 1
jbe 0x43426c
mov byte [esp + 0x60], 1
jmp 0x434271
mov byte [esp + 0x60], 0
xor esi, esi
test ebx, ebx
jle 0x4342db
mov edi, dword [esp + 0xa4]
mov edi, edi
mov edx, dword [edi + 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 + 0x60]
mov eax, dword [eax]
push edx
push eax
lea edx, [esp + 0xe4]
push edx
call fcn.0040d2e0
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 + 0xc8]
call fcn.0040db30
add esi, 1
cmp esi, ebx
jl 0x434280
lea ecx, [esp + 0x60]
push ecx
lea eax, [esp + 0xb8]
call fcn.0040dba0
xor eax, eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 4
mov dword [esp + 0xc8], vtable.CRecordVector_unsigned_int_.0
mov edi, ebx
lea esi, [esp + 0xc8]
mov byte [esp + 0x410], 0x12
call fcn.004428d0
test ebx, ebx
jle 0x4343c7
mov dword [esp + 0x18], 0
mov dword [esp + 0xa4], ebx
mov eax, 1
jmp 0x434350
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc0]
mov edx, dword [edx + ecx + 4]
mov ecx, dword [esp + 0xcc]
cmp dword [esp + 0xd0], ecx
mov dword [esp + 0x64], edx
jne 0x43439d
cmp ecx, 0x40
jl 0x43437f
mov eax, ecx
shr eax, 2
jmp 0x434389
cmp ecx, 8
jl 0x434389
mov eax, 8
lea edi, [ecx + eax]
lea esi, [esp + 0xc8]
call fcn.004428d0
mov eax, 1
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x64]
add dword [esp + 0x18], 0x14
mov dword [ecx + esi*4], edx
add dword [esp + 0xd0], eax
sub dword [esp + 0xa4], eax
jne 0x434350
test ebx, ebx
mov dword [esp + 0x38], 0
jle 0x434875
jmp 0x4343e0
xor ebx, ebx
push 4
lea esi, [esp + 0x178]
mov dword [esp + 0x188], ebx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x180], ebx
call fcn.00406380
mov edi, dword [esp + 0x38]
xor esi, esi
cmp edi, dword [esp + 0xa0]
mov byte [esp + 0x410], 0x13
jge 0x43451d
jmp 0x434430
mov eax, esi
cdq
cmp edx, dword [esp + 0x120]
ja 0x434514
jb 0x43444f
cmp eax, dword [esp + 0x11c]
jae 0x434514
mov ecx, dword [esp + 0xd4]
lea eax, [esi + edi]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x20]
add dword [esp + 0x184], edx
mov eax, dword [ecx + 0x24]
adc ebx, eax
mov eax, dword [ebp + 0x24]
cmp ebx, dword [eax + 0x1c]
ja 0x434514
jb 0x434492
mov edx, dword [esp + 0x184]
cmp edx, dword [eax + 0x18]
ja 0x434514
cmp byte [eax + 0x20], 0
je 0x434501
lea eax, [esp + 0x108]
call fcn.00432070
test esi, esi
mov byte [esp + 0x410], 0x14
jne 0x4344c9
lea edi, [esp + 0x108]
lea eax, [esp + 0x174]
call fcn.00407f80
mov edi, dword [esp + 0x38]
jmp 0x4344e9
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x108]
push eax
push ecx
call fcn.00442ba0
add esp, 8
test eax, eax
jne 0x4346d0
mov byte [esp + 0x410], 0x13
mov edx, dword [esp + 0x108]
push edx
call fcn.00410615
add esp, 4
add esi, 1
lea eax, [esi + edi]
cmp eax, dword [esp + 0xa0]
jl 0x434430
mov dword [esp + 0x1c], esi
cmp esi, 1
jge 0x434525
mov dword [esp + 0x1c], 1
push 0x78
call fcn.004122e2
add esp, 4
test eax, eax
je 0x4350e3
mov dword [esp + 0x64], eax
push eax
mov byte [esp + 0x414], 0x15
call fcn.00454ce0
test eax, eax
mov byte [esp + 0x410], 0x13
mov dword [esp + 0x5c], eax
mov dword [esp + 0xac], eax
je 0x434568
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
mov edi, dword [ebp + 0x20]
mov byte [esp + 0x410], 0x16
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xd4]
mov esi, dword [esp + 0x5c]
add eax, eax
add eax, eax
push ecx
add edx, eax
push edx
mov dword [esp + 0x6c], eax
call fcn.00454930
lea eax, [esp + 0x194]
call fcn.0040c7e0
mov esi, dword [esp + 0x58]
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push esi
push ebx
mov byte [esp + 0x418], 0x17
mov eax, dword [eax + 0x50]
mov edi, dword [ebx + 8]
push eax
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x1a0]
push ecx
lea edx, [esp + 0xa4]
push edx
push eax
lea ecx, [esp + 0x304]
push ecx
call fcn.0045a8d0
test eax, eax
mov dword [esp + 0x34], eax
jne 0x4350f8
cmp edi, dword [ebx + 8]
jge 0x434609
mov eax, dword [ebx + 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 [ebx + 8]
jl 0x4345f1
lea edi, [esp + 0x194]
call fcn.0040a9c0
add dword [esi + 0x20], eax
mov ecx, edi
push ecx
adc dword [esi + 0x24], edx
lea ecx, [ebx + 0x3c]
call fcn.0040c880
xor edi, edi
cmp dword [esp + 0x1c], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x34], edi
jle 0x4347d8
mov edx, dword [esp + 0x64]
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x18]
mov ecx, dword [ecx + edx]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
mov ebx, dword [edx + ecx*4]
xor eax, eax
push 4
lea esi, [esp + 0x80]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
call fcn.00406380
mov byte [esp + 0x88], 1
mov byte [esp + 0x89], 0
mov byte [esp + 0x8a], 0
mov byte [esp + 0x8b], 0
mov byte [esp + 0x410], 0x18
cmp byte [ebx + 0x39], 0
je 0x4346f1
mov esi, dword [esp + 0xa4]
lea eax, [esp + 0xdc]
push eax
lea ebx, [esp + 0x70]
call fcn.00431c60
add esp, 4
jmp 0x43470f
mov byte [esp + 0x410], 0x13
mov ecx, dword [esp + 0x108]
push ecx
mov dword [esp + 0x20], esi
call fcn.00410615
add esp, 4
jmp 0x434518
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0xa4]
mov esi, dword [eax]
lea ecx, [esp + 0x6c]
push ecx
push edx
lea ebx, [esp + 0xe4]
call fcn.00435de0
xor ebx, ebx
cmp byte [esp + 0x100], bl
jne 0x4352ae
cmp byte [esp + 0x89], bl
jne 0x4352ae
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x48]
cmp byte [edi + ecx], bl
jne 0x43474b
mov byte [esp + 0x410], 0x17
mov edx, dword [esp + 0x7c]
push edx
call fcn.00410615
jmp 0x4347bc
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 0x434784
mov eax, 1
add dword [esp + 0x54], eax
mov byte [esp + 0x8a], al
mov byte [esp + 0x88], al
jmp 0x434792
mov byte [esp + 0x8a], bl
mov byte [esp + 0x88], bl
mov edi, dword [ebp + 0x18]
lea eax, [esp + 0x6c]
push eax
lea esi, [esp + 0xe0]
call fcn.00435f60
mov byte [esp + 0x410], 0x17
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.00410615
mov edi, dword [esp + 0x38]
add dword [esp + 0x1c], 4
add edi, 1
add esp, 4
cmp edi, dword [esp + 0x1c]
mov dword [esp + 0x34], edi
jl 0x434642
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx + 0x54]
cmp dword [ebx + 0x58], eax
lea esi, [ebx + 0x50]
jne 0x434806
cmp eax, 0x40
mov ecx, 1
jl 0x4347f4
mov ecx, eax
shr ecx, 2
jmp 0x4347fe
cmp eax, 8
jl 0x4347fe
mov ecx, 8
lea edi, [eax + ecx]
call fcn.004428d0
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x54]
mov dword [eax + edx*4], ecx
add dword [esi + 8], 1
mov esi, dword [esp + 0x38]
add esi, dword [esp + 0x1c]
lea edx, [esp + 0x194]
push edx
mov dword [esp + 0x3c], esi
mov byte [esp + 0x414], 0x16
call fcn.0040c2b0
mov byte [esp + 0x410], 0x13
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x434850
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x410], 0x12
mov eax, dword [esp + 0x174]
push eax
call fcn.00410615
add esp, 4
cmp esi, dword [esp + 0xa0]
jl 0x4343e0
mov byte [esp + 0x410], 0x11
mov ecx, dword [esp + 0xd0]
push ecx
xor esi, esi
mov edi, vtable.CBaseRecordVector.0
push esi
lea ecx, [esp + 0xd0]
mov dword [esp + 0xd0], edi
call dword [0x4685b0]
mov edx, dword [esp + 0xd4]
push edx
call fcn.00410615
mov byte [esp + 0x414], 9
mov eax, dword [esp + 0xc0]
add esp, 4
push eax
push esi
lea ecx, [esp + 0xbc]
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xbc], edi
call dword [0x4685b0]
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.00410615
add esp, 4
lea edx, [esp + 0x2ec]
push edx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], esi
mov byte [esp + 0x414], 8
call fcn.00459940
lea eax, [esp + 0x138]
push eax
mov byte [esp + 0x414], 4
call fcn.00409e10
mov eax, dword [esp + 0x3c]
add eax, 1
cmp eax, 4
mov dword [esp + 0x3c], eax
jl 0x433540
mov ecx, dword [esp + 0xa8]
cmp ecx, dword [esp + 0x28]
je 0x435474
lea edx, [esp + 0x124]
push edx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x414], 2
call fcn.0040d700
mov eax, dword [esp + 0x58]
mov byte [esp + 0x410], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x410], 0
mov eax, dword [esp + 0x28]
push eax
push esi
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x44], edi
push esi
jmp 0x435442
mov esi, 1
mov eax, dword [esp + 0x74]
cmp eax, edi
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x434aff
push eax
call ebx
test eax, eax
jne 0x434aff
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434b03
lea ecx, [esp + 0x2ec]
push ecx
mov byte [esp + 0x414], 8
call fcn.00459940
lea edx, [esp + 0x138]
push edx
mov byte [esp + 0x414], 4
call fcn.00409e10
lea eax, [esp + 0x124]
push eax
mov byte [esp + 0x414], 3
call fcn.0040d920
lea ecx, [esp + 0x21c]
push ecx
mov byte [esp + 0x414], 2
call fcn.0040d700
mov byte [esp + 0x410], 1
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
mov byte [esp + 0x410], 0
mov ecx, dword [esp + 0x28]
push ecx
xor edi, edi
mov esi, vtable.CBaseRecordVector.0
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4685b0]
mov edx, dword [esp + 0x2c]
push edx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov eax, dword [esp + 0x4c]
add esp, 4
push eax
push edi
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], esi
call dword [0x4685b0]
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.00410615
mov eax, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x70]
cmp eax, edi
je 0x434b1a
push eax
call ebx
test eax, eax
jne 0x434b1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434b1e
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0x6c]
cmp eax, edi
je 0x434b35
push eax
call ebx
test eax, eax
jne 0x434b35
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434b39
mov dword [esp + 0x6c], edi
lea edx, [esp + 0x2ec]
push edx
mov byte [esp + 0x414], 8
call fcn.00459940
lea eax, [esp + 0x138]
push eax
mov byte [esp + 0x414], 4
call fcn.00409e10
lea ecx, [esp + 0x124]
push ecx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea edx, [esp + 0x21c]
push edx
mov byte [esp + 0x414], 2
call fcn.0040d700
mov eax, dword [esp + 0x58]
mov byte [esp + 0x410], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x410], 0
mov eax, dword [esp + 0x28]
push eax
mov ebx, vtable.CBaseRecordVector.0
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], ebx
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x44], ebx
push edi
jmp 0x432b9d
mov byte [esp + 0x410], 0xc
mov ecx, dword [esp + 0xe4]
push ecx
push 0
lea ecx, [esp + 0xe4]
mov dword [esp + 0xe4], vtable.CBaseRecordVector.0
call dword [0x4685b0]
mov edx, dword [esp + 0xe8]
push edx
call fcn.00410615
xor ebx, ebx
mov byte [esp + 0x414], 0xb
mov eax, dword [esp + 0x20]
add esp, 4
cmp eax, ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
je 0x434c5e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp edi, ebx
mov byte [esp + 0x410], 0xa
je 0x434c72
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov eax, dword [esp + 0x74]
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x434c8f
push eax
call edi
test eax, eax
jne 0x434c8f
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434c93
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x434caa
push eax
call edi
test eax, eax
jne 0x434caa
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434cae
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x434cc5
push eax
call edi
test eax, eax
jne 0x434cc5
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434cc9
mov dword [esp + 0x6c], ebx
lea edx, [esp + 0x2ec]
push edx
mov byte [esp + 0x414], 8
call fcn.00459940
lea eax, [esp + 0x138]
push eax
mov byte [esp + 0x414], 4
call fcn.00409e10
lea ecx, [esp + 0x124]
push ecx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea edx, [esp + 0x21c]
push edx
mov byte [esp + 0x414], 2
call fcn.0040d700
mov eax, dword [esp + 0x58]
mov byte [esp + 0x410], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x410], bl
jmp 0x432b56
lea ecx, [esp + 0x194]
push ecx
mov byte [esp + 0x414], 0xd
call fcn.0040c2b0
mov byte [esp + 0x410], 0xc
mov edx, dword [esp + 0xe4]
push edx
xor edi, edi
push edi
lea ecx, [esp + 0xe4]
mov dword [esp + 0xe4], vtable.CBaseRecordVector.0
call dword [0x4685b0]
mov eax, dword [esp + 0xe8]
push eax
call fcn.00410615
mov byte [esp + 0x414], 0xb
mov eax, dword [esp + 0x20]
add esp, 4
cmp eax, edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], edi
je 0x434dba
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x410], 0xa
mov eax, dword [esp + 0x5c]
cmp eax, edi
je 0x434dd2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
cmp eax, edi
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x434def
push eax
call ebx
test eax, eax
jne 0x434def
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434df3
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x70]
cmp eax, edi
je 0x434e0a
push eax
call ebx
test eax, eax
jne 0x434e0a
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434e0e
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0x6c]
cmp eax, edi
je 0x434e25
push eax
call ebx
test eax, eax
jne 0x434e25
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434e29
mov dword [esp + 0x6c], edi
lea eax, [esp + 0x2ec]
push eax
mov byte [esp + 0x414], 8
call fcn.00459940
lea ecx, [esp + 0x138]
push ecx
mov byte [esp + 0x414], 4
call fcn.00409e10
lea edx, [esp + 0x124]
push edx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x414], 2
call fcn.0040d700
mov byte [esp + 0x410], 1
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov byte [esp + 0x410], 0
mov eax, dword [esp + 0x28]
push eax
mov esi, vtable.CBaseRecordVector.0
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
push edi
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], esi
call dword [0x4685b0]
mov eax, dword [esp + 0x4c]
push eax
call fcn.00410615
mov eax, dword [esp + 0x38]
add esp, 4
mov ecx, dword [esp + 0x408]
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 ebx, eax
mov byte [esp + 0x414], 0xd
call fcn.0040c2b0
mov byte [esp + 0x410], 0xc
mov edx, dword [esp + 0xe4]
push edx
xor edi, edi
push edi
lea ecx, [esp + 0xe4]
mov dword [esp + 0xe4], vtable.CBaseRecordVector.0
call dword [0x4685b0]
mov eax, dword [esp + 0xe8]
push eax
call fcn.00410615
mov byte [esp + 0x414], 0xb
mov eax, dword [esp + 0x20]
add esp, 4
cmp eax, edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], edi
je 0x434f8c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x410], 0xa
mov eax, dword [esp + 0x5c]
cmp eax, edi
je 0x434fa4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
cmp eax, edi
je 0x434fbf
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x434fbf
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434fc3
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x70]
cmp eax, edi
je 0x434fde
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x434fde
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x434fe2
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0x6c]
cmp eax, edi
je 0x434ffd
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x434ffd
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x435001
mov dword [esp + 0x6c], edi
lea eax, [esp + 0x2ec]
push eax
mov byte [esp + 0x414], 8
call fcn.00459940
lea ecx, [esp + 0x138]
push ecx
mov byte [esp + 0x414], 4
call fcn.00409e10
lea edx, [esp + 0x124]
push edx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x414], 2
call fcn.0040d700
mov byte [esp + 0x410], 1
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov byte [esp + 0x410], 0
mov eax, dword [esp + 0x28]
push eax
mov esi, vtable.CBaseRecordVector.0
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
push edi
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], esi
call dword [0x4685b0]
mov eax, dword [esp + 0x4c]
push eax
call fcn.00410615
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x46ca6c
lea ecx, [esp + 0x1a]
xor al, al
push ecx
mov byte [esp + 0x1e], al
call fcn.00413fdb
lea edx, [esp + 0x194]
push edx
mov byte [esp + 0x414], 0x16
call fcn.0040c2b0
mov byte [esp + 0x410], 0x13
mov eax, dword [esp + 0x5c]
xor ebx, ebx
cmp eax, ebx
je 0x435127
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x174]
push eax
call fcn.00410615
mov byte [esp + 0x414], 0x11
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
mov edi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xd0]
mov dword [esp + 0xd0], edi
call dword [0x4685b0]
mov edx, dword [esp + 0xd4]
push edx
call fcn.00410615
mov byte [esp + 0x414], 9
mov eax, dword [esp + 0xc0]
add esp, 4
push eax
push ebx
lea ecx, [esp + 0xbc]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xbc], edi
call dword [0x4685b0]
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.00410615
add esp, 4
lea edx, [esp + 0x2ec]
push edx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov byte [esp + 0x414], 8
call fcn.00459940
lea eax, [esp + 0x138]
push eax
mov byte [esp + 0x414], 4
call fcn.00409e10
lea ecx, [esp + 0x124]
push ecx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea edx, [esp + 0x21c]
push edx
mov byte [esp + 0x414], 2
call fcn.0040d700
mov byte [esp + 0x410], 1
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov byte [esp + 0x410], bl
mov edx, dword [esp + 0x28]
push edx
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4685b0]
mov eax, dword [esp + 0x2c]
push eax
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov ecx, dword [esp + 0x4c]
add esp, 4
push ecx
push ebx
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], edi
call dword [0x4685b0]
mov edx, dword [esp + 0x4c]
push edx
call fcn.00410615
mov eax, dword [esp + 0x38]
add esp, 4
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x7c]
push eax
call fcn.00410615
add esp, 4
lea ecx, [esp + 0x194]
push ecx
mov byte [esp + 0x414], 0x16
call fcn.0040c2b0
mov byte [esp + 0x410], 0x13
mov eax, dword [esp + 0x5c]
cmp eax, ebx
je 0x4352e8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0x174]
push ecx
call fcn.00410615
mov byte [esp + 0x414], 0x11
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
mov esi, vtable.CBaseRecordVector.0
push ebx
lea ecx, [esp + 0xd0]
mov dword [esp + 0xd0], esi
call dword [0x4685b0]
mov eax, dword [esp + 0xd4]
push eax
call fcn.00410615
mov byte [esp + 0x414], 9
mov ecx, dword [esp + 0xc0]
add esp, 4
push ecx
push ebx
lea ecx, [esp + 0xbc]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xbc], esi
call dword [0x4685b0]
mov edx, dword [esp + 0xc0]
push edx
call fcn.00410615
add esp, 4
lea eax, [esp + 0x2ec]
push eax
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov byte [esp + 0x414], 8
call fcn.00459940
lea ecx, [esp + 0x138]
push ecx
mov byte [esp + 0x414], 4
call fcn.00409e10
lea edx, [esp + 0x124]
push edx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x414], 2
call fcn.0040d700
mov eax, dword [esp + 0x58]
mov byte [esp + 0x410], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x410], bl
mov eax, dword [esp + 0x28]
push eax
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], esi
push ebx
lea ecx, [esp + 0x48]
call dword [0x4685b0]
mov eax, dword [esp + 0x4c]
push eax
call fcn.00410615
add esp, 4
mov eax, 0x80004005
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], 4
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_int_.0
mov esi, dword [ebp + 0x10]
xor ebx, ebx
mov byte [esp + 0x410], 0x19
cmp dword [esi + 8], ebx
jle 0x43555d
jmp 0x4354c0
mov edx, dword [esi + 0xc]
mov eax, dword [edx + ebx*4]
cmp byte [eax + 0x38], 0
je 0x4354e0
cmp byte [eax + 0x3b], 0
jne 0x4354f6
cmp byte [eax + 0x3a], 0
jne 0x4354f6
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
jmp 0x4354f4
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x4354f6
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x70]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x1c], 0
jne 0x435551
cmp dword [esp + 0x110], ecx
jne 0x435531
cmp ecx, 0x40
mov eax, 1
jl 0x435510
mov eax, ecx
shr eax, 2
jmp 0x43551a
cmp ecx, 8
jl 0x43551a
mov eax, 8
lea edi, [ecx + eax]
lea esi, [esp + 0x108]
call fcn.004428d0
mov esi, dword [ebp + 0x10]
mov edi, vtable.CBaseRecordVector.0
mov ecx, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
mov dword [eax + ecx*4], ebx
add dword [esp + 0x110], 1
mov ecx, dword [esp + 0x10c]
add ebx, 1
cmp ebx, dword [esi + 8]
jl 0x4354c0
push esi
lea eax, [esp + 0x10c]
call fcn.0040d840
mov eax, dword [esp + 0x110]
test eax, eax
mov dword [esp + 0x38], 0
jle 0x435671
jmp 0x435593
mov esi, dword [ebp + 0x10]
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x38]
mov edx, dword [edx + ecx*4]
mov ecx, dword [esi + 0xc]
mov edi, dword [ecx + edx*4]
xor eax, eax
push 4
lea esi, [esp + 0x80]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
call fcn.00406380
mov byte [esp + 0x88], 1
mov byte [esp + 0x89], 0
mov byte [esp + 0x8a], 0
mov byte [esp + 0x8b], 0
mov byte [esp + 0x410], 0x1a
cmp byte [edi + 0x39], 0
je 0x435612
lea edx, [esp + 0x1f4]
push edx
lea ebx, [esp + 0x70]
mov esi, edi
call fcn.00431c60
add esp, 4
jmp 0x435629
mov ecx, dword [ebp + 0xc]
mov esi, dword [edi]
lea eax, [esp + 0x6c]
push eax
push ecx
lea ebx, [esp + 0x1fc]
call fcn.00435de0
mov edi, dword [ebp + 0x18]
lea edx, [esp + 0x6c]
push edx
lea esi, [esp + 0x1f8]
call fcn.00435f60
mov byte [esp + 0x410], 0x19
mov eax, dword [esp + 0x7c]
push eax
call fcn.00410615
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x114]
add ecx, 1
add esp, 4
cmp ecx, eax
mov dword [esp + 0x38], ecx
jl 0x435590
mov edi, vtable.CBaseRecordVector.0
push eax
xor esi, esi
mov byte [esp + 0x414], 4
push esi
lea ecx, [esp + 0x110]
mov dword [esp + 0x110], edi
call dword [0x4685b0]
mov ecx, dword [esp + 0x114]
push ecx
call fcn.00410615
mov ebx, dword [ebp + 0x18]
add esp, 4
mov dword [esp + 0x10c], esi
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], esi
call fcn.0040d220
lea edx, [esp + 0x124]
push edx
mov byte [esp + 0x414], 3
call fcn.0040d920
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x414], 2
call fcn.0040d700
mov eax, dword [esp + 0x58]
mov byte [esp + 0x410], 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
mov byte [esp + 0x410], bl
mov eax, dword [esp + 0x28]
push eax
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edi
call dword [0x4685b0]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00410615
mov dword [esp + 0x414], 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
push ebx
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], edi
call dword [0x4685b0]
mov eax, dword [esp + 0x4c]
push eax
call fcn.00410615
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret