Function at 0x10042cc8
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006d8d7
mov eax, dword fs:[0]
push eax
sub esp, 0x4a0
push ebx
push esi
push edi
mov eax, dword [0x1008f210]
xor eax, esp
push eax
lea eax, [esp + 0x4b0]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x64], ecx
xor ebx, ebx
or ecx, edx
mov dword [esp + 0x68], edx
jne 0x10042d1d
mov dword [esp + 0x64], 1
mov dword [esp + 0x68], ebx
mov edi, dword [ebp + 0xc]
cmp edi, ebx
je 0x10042d3a
mov ecx, dword [edi + 0x138]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x13c]
mov dword [esp + 0x28], ecx
jmp 0x10042d42
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
cmp dword [esp + 0x28], ebx
ja 0x10042d4e
cmp dword [esp + 0x24], ebx
jbe 0x10042d86
cmp byte [eax + 0x21], 0
jne 0x10042d86
mov esi, dword [ebp + 8]
mov eax, dword [esi]
push ebx
push ebx
push ebx
push ebx
push esi
call dword [eax + 0x10]
cmp eax, ebx
jne 0x100430e4
push ebx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push dword [ebp + 0x1c]
push esi
call fcn.10041f5d
add esp, 0x14
cmp eax, ebx
jne 0x100430e4
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], 4
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_int_.0
mov dword [esp + 0x4b8], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], 0xc
mov dword [esp + 0xdc], 0x1007d440
mov byte [esp + 0x4b8], 1
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov byte [esp + 0x3b], 0
cmp edi, ebx
je 0x10042ffd
mov ebx, dword [edi + 0x6c]
lea esi, [esp + 0x14c]
call fcn.1003a3b1
xor ebx, ebx
cmp dword [edi + 0x6c], ebx
jle 0x10042e32
push 0xffffffffffffffff
lea esi, [esp + 0x150]
call fcn.100414a0
inc ebx
cmp ebx, dword [edi + 0x6c]
jl 0x10042e1e
mov edx, dword [ebp + 0x10]
xor eax, eax
cmp dword [edx + 8], eax
jle 0x10042e59
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + eax*4]
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x10042e53
mov esi, dword [esp + 0x158]
mov dword [esi + ecx*4], eax
inc eax
cmp eax, dword [edx + 8]
jl 0x10042e3c
xor ebx, ebx
cmp dword [edi + 0x44], ebx
mov dword [esp + 0x48], ebx
jle 0x10042fee
mov eax, dword [edi + 0x5c]
mov ecx, dword [eax + ebx*4]
mov eax, dword [edi + 0x1a4]
mov eax, dword [eax + ebx*4]
xor edx, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
cmp ecx, edx
jbe 0x10042fe0
mov edx, dword [esp + 0x158]
mov esi, dword [edi + 0x70]
lea ecx, [edx + eax*4]
sub esi, edx
mov eax, dword [esi + ecx]
cmp byte [eax + 0x1c], 0
je 0x10042edb
mov edx, dword [ecx]
inc dword [esp + 0x50]
test edx, edx
jl 0x10042edb
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebx + edx*4]
cmp byte [edx + 0x38], 0
mov ebx, dword [esp + 0x48]
jne 0x10042edb
mov edx, dword [eax]
inc dword [esp + 0x1c]
add dword [esp + 0x24], edx
mov eax, dword [eax + 4]
adc dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
add ecx, 4
cmp eax, dword [esp + 0x34]
jb 0x10042ea4
cmp dword [esp + 0x1c], 0
je 0x10042fe0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x48]
mov esi, dword [eax + ebx*4]
mov ecx, esi
mov dword [esp + 0x74], ebx
call fcn.10038943
mov ecx, dword [esi + 8]
xor edi, edi
mov byte [esp + 0x17], al
test ecx, ecx
jle 0x10042f43
mov esi, dword [esi + 0xc]
mov eax, dword [esi]
mov edx, dword [eax]
mov eax, dword [eax + 4]
cmp edx, 0x3030103
jne 0x10042f2f
test eax, eax
je 0x10042fa7
cmp edx, 0x303011b
jne 0x10042f3b
test eax, eax
je 0x10042fa7
inc edi
add esi, 4
cmp edi, ecx
jl 0x10042f1c
xor al, al
xor ecx, ecx
test al, al
movzx eax, byte [esp + 0x17]
setne cl
neg eax
sbb eax, eax
and eax, 2
add ecx, eax
lea eax, [esp + 0xdc]
mov dword [esp + 0x78], ecx
call fcn.1003a383
mov edi, dword [esp + 0xe4]
mov eax, dword [esp + 0x34]
imul edi, edi, 0xc
add edi, dword [esp + 0xe8]
lea esi, [esp + 0x74]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [esp + 0xe4]
cmp dword [esp + 0x1c], eax
jne 0x10042fab
mov ecx, dword [ebp + 0xc]
mov eax, ebx
call fcn.10038b1d
add dword [esp + 0x54], eax
adc dword [esp + 0x58], edx
jmp 0x10042fdd
mov al, 1
jmp 0x10042f45
mov ecx, dword [esp + 0x24]
add dword [esp + 0x54], ecx
mov eax, dword [esp + 0x28]
adc dword [esp + 0x58], eax
cmp eax, dword [esp + 0x70]
jb 0x10042fd1
ja 0x10042fc9
cmp ecx, dword [esp + 0x6c]
jbe 0x10042fd1
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
cmp byte [esp + 0x17], 0
je 0x10042fdd
mov byte [esp + 0x3b], 1
mov edi, dword [ebp + 0xc]
inc ebx
cmp ebx, dword [edi + 0x44]
mov dword [esp + 0x48], ebx
jl 0x10042e68
push edi
lea eax, [esp + 0xe0]
call fcn.10044f9b
xor ebx, ebx
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 8]
cmp edx, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], ebx
jle 0x10043066
mov esi, dword [eax + 0xc]
mov eax, dword [esi]
cmp byte [eax + 0x38], 0
je 0x10043059
mov ecx, dword [eax + 0x20]
add dword [esp + 0x54], ecx
mov eax, dword [eax + 0x24]
adc dword [esp + 0x58], eax
cmp dword [esp + 0x64], 1
jne 0x10043039
cmp dword [esp + 0x68], ebx
je 0x10043043
add dword [esp + 0x24], ecx
adc dword [esp + 0x28], eax
jmp 0x10043059
cmp eax, dword [esp + 0x28]
jb 0x10043059
ja 0x10043051
cmp ecx, dword [esp + 0x24]
jbe 0x10043059
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
inc dword [esp + 0x10]
add esi, 4
cmp dword [esp + 0x10], edx
jl 0x10043016
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x28]
jb 0x10043088
ja 0x1004307c
mov ecx, dword [esp + 0x6c]
cmp ecx, dword [esp + 0x24]
jbe 0x10043088
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], ebx
ja 0x100430a3
mov eax, 0x10000
jb 0x1004309b
cmp dword [esp + 0x24], eax
jae 0x100430a3
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
push dword [esp + 0x58]
mov ebx, dword [ebp + 0x20]
push dword [esp + 0x58]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xc]
test eax, eax
je 0x100430fa
mov esi, eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x4b8], 0
call fcn.1003a351
or dword [esp + 0x4b8], 0xffffffff
lea ecx, [esp + 0x14c]
call fcn.1003a351
mov eax, esi
mov ecx, dword [esp + 0x4b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x38
call fcn.1003202e
pop ecx
test eax, eax
je 0x10043113
call fcn.100419c2
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x1004311c
and dword [esp + 0x18], 0
mov esi, dword [esp + 0x18]
mov dword [esp + 0x6c], esi
test esi, esi
je 0x1004312a
mov eax, dword [esi]
push esi
call dword [eax + 4]
push 1
mov byte [esp + 0x4bc], 2
call fcn.100419ee
lea eax, [esp + 0x194]
push eax
call fcn.10042b3f
xor edi, edi
mov byte [esp + 0x4b8], 3
cmp dword [esp + 0xe4], edi
je 0x100431fe
lea esi, [esp + 0x194]
call fcn.100475f5
mov esi, eax
cmp esi, edi
je 0x100431fe
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 7
call fcn.1003cedd
mov byte [esp + 0x4b8], 6
mov eax, dword [esp + 0x1cc]
cmp eax, edi
je 0x100431a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 5
mov eax, dword [esp + 0x1b4]
cmp eax, edi
je 0x100431ba
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 4
mov eax, dword [esp + 0x1ac]
cmp eax, edi
je 0x100431d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
test eax, eax
mov byte [esp + 0x4b8], 1
je 0x100430ba
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100430ba
push 4
pop ebx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x88], vtable.CObjectVector_struct_NArchive::N7z::CSolidGroup_.0
mov dword [esp + 0x34], ebx
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xa8], vtable.CRecordVector_unsigned_int_.0
push 0x14
mov byte [esp + 0x4bc], 9
call fcn.1003202e
mov esi, eax
pop ecx
mov dword [esp + 0x4c], esi
mov byte [esp + 0x4b8], 0xa
cmp esi, edi
je 0x10043285
lea eax, [esp + 0xa8]
push eax
push esi
call fcn.1003e0a2
jmp 0x10043287
xor esi, esi
push esi
lea esi, [esp + 0x8c]
mov byte [esp + 0x4bc], 9
call fcn.100414a0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x4b8], 8
call fcn.1003a351
dec dword [esp + 0x34]
jne 0x1004322c
mov eax, dword [ebp + 0x24]
mov edi, dword [eax]
cmp dword [edi + 8], 1
mov cl, byte [eax + 8]
mov byte [esp + 0x43], cl
jne 0x100432d2
cmp dword [edi + 0x1c], 0
je 0x100432d7
mov byte [esp + 0x43], 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 8]
and dword [esp + 0x10], 0
test eax, eax
jle 0x100433a7
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x10]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x38], 0
je 0x10043396
mov eax, esi
call fcn.10041f42
test al, al
je 0x10043396
cmp byte [esp + 0x43], 0
mov byte [esp + 0x17], 0
je 0x1004336d
push 0x2e
add esi, 0x28
pop edx
mov ecx, esi
call fcn.10044ec5
test eax, eax
jl 0x1004336d
inc eax
push eax
lea eax, [esp + 0x78]
push eax
mov eax, esi
call fcn.1003b4f9
mov ebx, eax
xor esi, esi
push dword [esi + 0x1009097c]
push dword [ebx]
call fcn.10033eb1
pop ecx
pop ecx
test eax, eax
je 0x100433e8
add esi, 4
cmp esi, 0x14
jb 0x1004333c
mov byte [esp + 0x17], 0
push dword [esp + 0x74]
call fcn.1004d030
mov ebx, dword [ebp + 0x10]
pop ecx
movzx eax, byte [edi + 0x2c]
push dword [esp + 0x10]
neg eax
sbb eax, eax
xor ecx, ecx
and eax, 2
cmp byte [esp + 0x1b], cl
setne cl
add eax, ecx
mov ecx, dword [esp + 0x98]
mov esi, dword [ecx + eax*4]
call fcn.100414a0
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, dword [ebx + 8]
jl 0x100432ea
and dword [esp + 0x114], 0
cmp byte [esp + 0x3b], 0
je 0x100435d4
push 0x14
call fcn.1003202e
mov esi, eax
pop ecx
mov dword [esp + 0x4c], esi
mov byte [esp + 0x4b8], 0xb
test esi, esi
je 0x100433f2
and dword [esi + 4], 0
lea eax, [esi + 8]
mov dword [esi], vtable.NArchive::N7z::CCryptoGetTextPassword.0
call fcn.10039bf8
jmp 0x100433f4
mov byte [esp + 0x17], 1
jmp 0x10043360
xor esi, esi
mov byte [esp + 0x4b8], 8
mov dword [esp + 0x114], esi
test esi, esi
je 0x1004340d
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x1004341e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x1cc], esi
cmp byte [eax + 0x2c], 0
je 0x10043440
lea edi, [eax + 0x30]
lea eax, [esi + 8]
call fcn.10039ca6
jmp 0x100435d4
mov eax, dword [ebp + 0x28]
test eax, eax
jne 0x100434ec
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0xf
call fcn.1003cedd
mov byte [esp + 0x4b8], 0xe
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x1004348e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0xd
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x100434a7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0xc
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x100434c0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
mov byte [esp + 0x4b8], 1
test eax, eax
je 0x100434e2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, 0x80004001
jmp 0x100430ba
and dword [esp + 0x50], 0
lea edx, [esp + 0x50]
push edx
mov byte [esp + 0x4bc], 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
je 0x100435b6
push dword [esp + 0x50]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x14
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x13
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x1004355b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x12
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x10043574
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x11
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x1004358d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
mov byte [esp + 0x4b8], 1
test eax, eax
je 0x100435af
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, ebx
jmp 0x100430ba
mov edi, dword [esp + 0x50]
lea eax, [esi + 8]
call fcn.10032951
mov byte [esp + 0x4b8], 8
push dword [esp + 0x50]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x1c]
push esi
call fcn.10045577
xor ebx, ebx
mov dword [esp + 0x30], eax
cmp eax, ebx
je 0x1004368e
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x18
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x17
mov eax, dword [esp + 0x1cc]
cmp eax, ebx
je 0x10043631
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x16
mov eax, dword [esp + 0x1b4]
cmp eax, ebx
je 0x1004364a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x15
mov eax, dword [esp + 0x1ac]
cmp eax, ebx
je 0x10043663
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
mov byte [esp + 0x4b8], 1
cmp eax, ebx
je 0x10043685
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [esp + 0x30]
jmp 0x100430ba
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax]
push ebx
push 1
push ebx
push 0x18
push eax
call dword [ecx + 0x10]
mov esi, eax
cmp esi, ebx
je 0x10043733
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x1c
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x1b
mov eax, dword [esp + 0x1cc]
cmp eax, ebx
je 0x100436ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x1a
mov eax, dword [esp + 0x1b4]
cmp eax, ebx
je 0x10043703
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x19
mov eax, dword [esp + 0x1ac]
cmp eax, ebx
je 0x1004371c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
cmp eax, ebx
jmp 0x100431e5
mov esi, dword [esp + 0x18]
mov dword [esp + 0x48], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x94]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x268]
push eax
call fcn.1003ee61
mov byte [esp + 0x4b8], 0x1d
test bl, 1
je 0x10043789
lea eax, [esp + 0x268]
push eax
mov eax, dword [ebp + 0x24]
movzx ecx, byte [eax + 9]
push ecx
push dword [eax]
call fcn.1004253e
add esp, 0xc
jmp 0x1004379a
mov eax, dword [ebp + 0x24]
push dword [eax]
lea eax, [esp + 0x26c]
call fcn.10042799
shr ebx, 1
test bl, 1
je 0x100437cf
cmp byte [esp + 0x294], 0
jne 0x100437eb
mov eax, dword [esp + 0x114]
test eax, eax
je 0x100437c5
lea edi, [eax + 8]
lea eax, [esp + 0x298]
call fcn.10039ca6
mov byte [esp + 0x294], 1
jmp 0x100437eb
and dword [esp + 0x29c], 0
mov ecx, dword [esp + 0x298]
xor eax, eax
mov byte [esp + 0x294], 0
mov word [ecx], ax
lea eax, [esp + 0x394]
push eax
lea edi, [esp + 0x26c]
call fcn.1004855c
mov eax, dword [esp + 0x48]
mov byte [esp + 0x4b8], 0x1e
cmp eax, dword [esp + 0xe4]
jge 0x10043dca
imul eax, eax, 0xc
mov dword [esp + 0x5c], eax
jmp 0x10043825
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xe8]
add eax, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x4c], eax
cmp dword [eax + 4], ecx
jne 0x10043dca
mov edi, dword [eax]
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx + 0x5c]
mov eax, dword [eax + 8]
mov ecx, edi
shl ecx, 2
mov dword [esp + 0x44], edi
mov dword [esp + 0x1c], ecx
cmp eax, dword [ecx + edx]
jne 0x10043936
mov eax, edi
mov ecx, ebx
call fcn.10038b1d
mov dword [esp + 0x104], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x50]
push edi
mov ecx, ebx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x34], eax
call fcn.1003e5ce
mov edi, dword [ebp + 8]
mov ecx, dword [edi]
push 0
push 0
push edx
push eax
push edi
call dword [ecx + 0x10]
test eax, eax
jne 0x100438b8
push esi
push dword [esp + 0x10c]
push dword [esp + 0x10c]
push dword [esp + 0x3c]
push edi
call fcn.10041f5d
add esp, 0x14
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004447c
mov eax, dword [esp + 0x104]
add dword [esi + 0x18], eax
mov eax, dword [esp + 0x108]
adc dword [esi + 0x1c], eax
mov ecx, dword [ebx + 0x48]
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + ecx]
mov ecx, dword [ebx + 0x190]
and dword [esp + 0x10], 0
cmp dword [edi + 0x30], 0
mov eax, dword [eax + ecx]
jle 0x10043925
shl eax, 3
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x20]
push dword [eax + ecx + 4]
mov esi, dword [ebp + 0x18]
push dword [eax + ecx]
call fcn.10041404
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add dword [esp + 0x20], 8
cmp eax, dword [edi + 0x30]
jl 0x100438fd
mov esi, dword [ebp + 0x18]
push edi
add esi, 0x3c
call fcn.1003dd6f
jmp 0x10043c31
xor esi, esi
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], esi
lea eax, [esp + 0x12c]
call fcn.10048dd3
mov dword [esp + 0x30], eax
cmp eax, esi
jne 0x1004453e
xor edi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x24]
push eax
lea esi, [esp + 0x134]
mov byte [esp + 0x4c0], 0x29
call fcn.10048e0b
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], 1
mov dword [esp + 0xa8], vtable.CRecordVector_bool_.0
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x4b8], 0x2a
mov ecx, dword [ebx + 0x5c]
mov ecx, dword [eax + ecx]
mov edx, dword [ebx + 0x1a4]
mov eax, dword [eax + edx]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edi
cmp ecx, edi
jbe 0x10043a41
mov edi, eax
shl edi, 2
mov eax, dword [ebx + 0x70]
mov eax, dword [edi + eax]
cmp byte [eax + 0x1c], 0
mov byte [esp + 0x110], 0
je 0x10043a21
mov eax, dword [esp + 0x158]
mov eax, dword [eax + edi]
inc dword [esp + 0x3c]
test eax, eax
jl 0x10043a21
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x38], 0
jne 0x10043a21
mov byte [esp + 0x110], 1
push dword [esp + 0x110]
lea esi, [esp + 0xac]
call fcn.1003dd30
mov eax, dword [esp + 0x30]
add edi, 4
cmp dword [esp + 0x3c], eax
jb 0x100439e4
mov eax, dword [ebx + 0x1a4]
add eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1b0]
mov eax, dword [eax]
mov edi, dword [esp + 0x10]
mov dword [ecx + 0x1c], eax
lea eax, [esp + 0xa8]
lea esi, [ecx + 0x18]
mov dword [esp + 0x30], ecx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], eax
call fcn.100331db
mov eax, dword [esp + 0x30]
and dword [eax + 0x20], 0
mov byte [eax + 0x24], 0
call fcn.10042a40
mov dword [esp + 0x30], eax
test eax, eax
jne 0x1004461e
mov eax, edi
test eax, eax
je 0x10043aa2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [esp + 0x10], 0
mov edi, dword [ebp + 8]
lea esi, [esp + 0x1ac]
call fcn.100331db
mov eax, dword [ebx + 0x48]
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + eax]
push dword [esp + 0x44]
mov ecx, ebx
mov dword [esp + 0x1cc], eax
call fcn.1003e5ce
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x1bc], eax
mov eax, dword [ebx + 0x190]
mov dword [esp + 0x1c0], edx
mov eax, dword [eax + esi]
lea eax, [ecx + eax*8]
mov dword [esp + 0x1c4], eax
lea eax, [esp + 0x198]
mov byte [esp + 0x1a4], 0
call fcn.1004758c
mov esi, dword [ebp + 0x18]
mov edi, dword [esi + 8]
lea eax, [esp + 0x33c]
call fcn.1003b895
push dword [esp + 0x18]
mov eax, dword [ebp + 0x14]
push esi
mov byte [esp + 0x4c0], 0x2f
mov eax, dword [eax + 0x50]
push eax
lea eax, [esp + 0x348]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x3ac]
push eax
call fcn.10047e31
mov dword [esp + 0x30], eax
test eax, eax
jne 0x10044715
push 0xffffffffffffffff
push dword [esp + 0x1a0]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [esp + 0x1a8], 0
jne 0x10044821
cmp edi, dword [esi + 8]
jge 0x10043b91
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + edi*8]
add dword [eax + 0x28], edx
mov ecx, dword [ecx + edi*8 + 4]
adc dword [eax + 0x2c], ecx
inc edi
cmp edi, dword [esi + 8]
jl 0x10043b7b
lea edi, [esp + 0x33c]
call fcn.1003b8ee
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x20], eax
mov eax, edi
push eax
adc dword [ecx + 0x24], edx
add esi, 0x3c
call fcn.1003dd6f
mov eax, edi
push eax
mov byte [esp + 0x4bc], 0x2a
call fcn.1003a273
lea ecx, [esp + 0xa8]
mov byte [esp + 0x4b8], 0x29
call fcn.1003a351
mov byte [esp + 0x4b8], 0x28
cmp dword [esp + 0x20], 0
je 0x10043bef
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x23
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10043c05
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea esi, [esp + 0x134]
mov byte [esp + 0x4b8], 0x1e
call fcn.10046922
lea esi, [esp + 0x130]
call fcn.10046922
lea esi, [esp + 0x12c]
call fcn.10046922
mov eax, dword [esp + 0x4c]
mov esi, dword [ebp + 0x18]
push dword [eax + 8]
add esi, 0x50
call fcn.100414a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x5c]
mov ecx, dword [eax + ecx]
mov edx, dword [ebx + 0x1a4]
and dword [esp + 0x3c], 0
mov eax, dword [eax + edx]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x1c], eax
test ecx, ecx
jbe 0x10043dac
lea esi, [esp + 0xbc]
call fcn.1003b936
push dword [esp + 0x1c]
lea edi, [esp + 0x2a8]
push ebx
mov edx, esi
mov byte [esp + 0x4c0], 0x38
call fcn.10046805
cmp byte [esp + 0xd8], 0
je 0x10043d85
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4]
inc dword [esp + 0x3c]
test eax, eax
jl 0x10043d85
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
mov edi, dword [ecx + eax*4]
cmp byte [edi + 0x38], 0
jne 0x10043d85
cmp byte [edi + 0x39], 0
je 0x10043d6e
lea esi, [esp + 0x16c]
call fcn.1003b936
mov eax, esi
push eax
lea ebx, [esp + 0x2a8]
mov esi, edi
mov byte [esp + 0x4bc], 0x39
call fcn.1004280a
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x17c], eax
mov al, byte [esp + 0xde]
mov byte [esp + 0x18e], al
mov al, byte [esp + 0xdc]
pop ecx
lea ebx, [esp + 0x16c]
lea esi, [esp + 0xbc]
mov byte [esp + 0x188], al
call fcn.10044e87
mov byte [esp + 0x4b8], 0x38
push dword [esp + 0x17c]
call fcn.1004d030
mov ebx, dword [ebp + 0xc]
pop ecx
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0x2a8]
call fcn.1004687d
mov byte [esp + 0x4b8], 0x1e
push dword [esp + 0xcc]
call fcn.1004d030
mov eax, dword [esp + 0x40]
inc dword [esp + 0x20]
pop ecx
cmp eax, dword [esp + 0x4c]
jb 0x10043c6b
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
add dword [esp + 0x5c], 0xc
cmp eax, dword [esp + 0xe4]
mov esi, dword [esp + 0x18]
jl 0x10043821
mov eax, dword [esp + 0x60]
mov edi, dword [eax + 8]
mov dword [esp + 0x20], edi
test edi, edi
jne 0x10043e08
lea eax, [esp + 0x394]
push eax
mov byte [esp + 0x4bc], 0x1d
call fcn.100489e3
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x4bc], 8
call fcn.1003fc17
jmp 0x100443c5
xor eax, eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], 0x14
mov dword [esp + 0xf0], 0x1007d458
mov ebx, edi
lea esi, [esp + 0xf0]
mov byte [esp + 0x4b8], 0x3a
call fcn.1003a3b1
xor ebx, ebx
cmp dword [esp + 0x68], ebx
ja 0x10043e5a
cmp dword [esp + 0x64], 1
jbe 0x10043e64
mov byte [esp + 0xa4], 1
jmp 0x10043e6c
mov byte [esp + 0xa4], 0
cmp edi, ebx
jle 0x10043ee0
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
push dword [esp + 0xa4]
lea eax, [eax + ebx*4]
mov ecx, dword [eax]
mov ecx, dword [edx + ecx*4]
push ecx
push dword [eax]
lea edi, [esp + 0xc8]
call fcn.1004231c
push 5
mov esi, eax
pop ecx
lea edi, [esp + 0x2d0]
lea eax, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
call fcn.1003a383
mov edi, dword [esp + 0xf8]
imul edi, edi, 0x14
add edi, dword [esp + 0xfc]
push 5
pop ecx
lea esi, [esp + 0x2d0]
rep movsd dword es:[edi], dword [esi]
inc dword [esp + 0xf8]
inc ebx
cmp ebx, dword [esp + 0x20]
jl 0x10043e70
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xf4]
call fcn.100450b4
xor eax, eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 4
mov dword [esp + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_int_.0
mov byte [esp + 0x4b8], 0x3b
mov ebx, dword [esp + 0x20]
lea esi, [esp + 0x118]
call fcn.1003a3b1
test ebx, ebx
jle 0x10043f5c
xor edi, edi
mov eax, dword [esp + 0xfc]
push dword [eax + edi + 4]
lea esi, [esp + 0x11c]
call fcn.100414a0
add edi, 0x14
dec ebx
jne 0x10043f3f
and dword [esp + 0x10], 0
cmp dword [esp + 0x20], 0
jle 0x1004436f
xor ebx, ebx
lea eax, [esp + 0x160]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
call fcn.10039bf8
mov byte [esp + 0x4b8], 0x3c
mov esi, dword [esp + 0x10]
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
jge 0x10044087
mov eax, ebx
cdq
cmp edx, dword [esp + 0x68]
ja 0x10044082
jb 0x10043fbb
cmp eax, dword [esp + 0x64]
jae 0x10044082
mov ecx, dword [esp + 0x124]
lea eax, [ebx + esi]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x20]
add dword [esp + 0x9c], ecx
mov ecx, dword [eax + 0x24]
adc dword [esp + 0xa0], ecx
mov ecx, dword [ebp + 0x24]
mov edx, dword [esp + 0xa0]
cmp edx, dword [ecx + 0x1c]
ja 0x10044082
jb 0x10044006
mov edx, dword [esp + 0x9c]
cmp edx, dword [ecx + 0x18]
ja 0x10044082
cmp byte [ecx + 0x20], 0
je 0x1004405c
lea ecx, [esp + 0x74]
push ecx
call fcn.1004206e
mov byte [esp + 0x4b8], 0x3d
test ebx, ebx
jne 0x10044034
lea edi, [esp + 0x74]
lea eax, [esp + 0x160]
call fcn.10039ca6
jmp 0x1004404a
push dword [esp + 0x160]
push dword [esp + 0x78]
call fcn.10033eb1
pop ecx
pop ecx
test eax, eax
jne 0x10044070
mov byte [esp + 0x4b8], 0x3c
push dword [esp + 0x74]
call fcn.1004d030
pop ecx
inc ebx
lea eax, [ebx + esi]
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
jl 0x10043fa2
jmp 0x10044082
mov byte [esp + 0x4b8], 0x3c
push dword [esp + 0x74]
call fcn.1004d030
pop ecx
cmp ebx, 1
jge 0x1004408f
mov dword [esp + 0x1c], 1
push 0x78
call fcn.1003202e
pop ecx
mov dword [esp + 0x4c], eax
mov byte [esp + 0x4b8], 0x3e
test eax, eax
je 0x100440b5
push eax
call fcn.10048f43
mov ebx, eax
mov dword [esp + 0x5c], ebx
jmp 0x100440be
and dword [esp + 0x5c], 0
mov ebx, dword [esp + 0x5c]
mov byte [esp + 0x4b8], 0x3c
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x100440d4
mov eax, dword [ebx]
push ebx
call dword [eax + 4]
mov edi, dword [ebp + 0x20]
mov byte [esp + 0x4b8], 0x3f
mov ecx, dword [esp + 0x124]
mov eax, esi
shl eax, 2
lea esi, [eax + ecx]
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x10044101
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x14], edi
xor edi, edi
lea ecx, [ebx + 0x3c]
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x30], esi
push dword [ecx + 8]
mov eax, dword [ecx]
push edi
call dword [eax + 4]
lea ecx, [ebx + 0x50]
push dword [ecx + 8]
mov eax, dword [ecx]
push edi
call dword [eax + 4]
lea ecx, [ebx + 0x64]
push dword [ecx + 8]
mov eax, dword [ecx]
push edi
call dword [eax + 4]
lea eax, [esp + 0x2e4]
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x18], 0
call fcn.1003b895
push dword [esp + 0x18]
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push esi
mov byte [esp + 0x4c0], 0x40
mov eax, dword [eax + 0x50]
mov edi, dword [esi + 8]
push eax
lea eax, [esp + 0x2f0]
push eax
lea eax, [esp + 0x34]
push eax
push ebx
lea eax, [esp + 0x3ac]
push eax
call fcn.10047e31
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x1004495d
cmp edi, dword [esi + 8]
jge 0x100441ab
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + edi*8]
add dword [eax + 0x28], edx
mov ecx, dword [ecx + edi*8 + 4]
adc dword [eax + 0x2c], ecx
inc edi
cmp edi, dword [esi + 8]
jl 0x10044195
lea edi, [esp + 0x2e4]
call fcn.1003b8ee
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x20], eax
mov eax, edi
push eax
adc dword [ecx + 0x24], edx
add esi, 0x3c
call fcn.1003dd6f
xor edi, edi
cmp dword [esp + 0x1c], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], edi
jle 0x10044312
mov eax, dword [esp + 0x10]
shl eax, 2
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + ecx]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + eax*4]
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], eax
call fcn.1003b936
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x4b8], 0x45
cmp byte [eax + 0x39], 0
je 0x1004423e
mov eax, esi
mov esi, dword [esp + 0x3c]
push eax
lea ebx, [esp + 0x170]
call fcn.1004280a
mov ebx, dword [esp + 0x60]
pop ecx
jmp 0x1004425e
mov eax, dword [esp + 0x3c]
push dword [eax]
lea edi, [esp + 0x170]
push dword [ebp + 0xc]
lea edx, [esp + 0xc4]
call fcn.10046805
mov edi, dword [esp + 0x30]
cmp byte [esp + 0x190], 0
jne 0x10044a7b
cmp byte [esp + 0xd9], 0
jne 0x10044a7b
mov eax, dword [ebx + 0x48]
cmp byte [edi + eax], 0
je 0x100442e9
mov eax, dword [ebx + 0x5c]
mov eax, dword [eax + edi*4]
mov ecx, dword [ebx + 0x70]
mov dword [esp + 0xc8], eax
mov eax, dword [ecx + edi*8]
mov ecx, dword [ecx + edi*8 + 4]
mov dword [esp + 0xbc], eax
or eax, ecx
mov dword [esp + 0xc0], ecx
je 0x100442c2
inc dword [esp + 0x44]
mov byte [esp + 0xda], 1
mov byte [esp + 0xd8], 1
jmp 0x100442d2
mov byte [esp + 0xda], 0
mov byte [esp + 0xd8], 0
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0x170]
call fcn.1004687d
mov byte [esp + 0x4b8], 0x40
push dword [esp + 0xcc]
call fcn.1004d030
add dword [esp + 0x64], 4
inc edi
cmp edi, dword [esp + 0x20]
pop ecx
mov dword [esp + 0x30], edi
jl 0x100441eb
mov esi, dword [ebp + 0x18]
push dword [esp + 0x44]
add esi, 0x50
call fcn.100414a0
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x1c]
lea eax, [esp + 0x2e4]
push eax
mov dword [esp + 0x14], esi
mov byte [esp + 0x4bc], 0x3f
call fcn.1003a273
mov byte [esp + 0x4b8], 0x3c
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov byte [esp + 0x4b8], 0x3b
push dword [esp + 0x160]
call fcn.1004d030
cmp esi, dword [esp + 0x24]
pop ecx
jl 0x10043f6c
lea ecx, [esp + 0x118]
mov byte [esp + 0x4b8], 0x3a
call fcn.1003a351
lea ecx, [esp + 0xf0]
mov byte [esp + 0x4b8], 0x1e
call fcn.1003a351
lea eax, [esp + 0x394]
push eax
mov byte [esp + 0x4bc], 0x1d
call fcn.100489e3
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x4bc], 8
call fcn.1003fc17
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
inc ebx
cmp ebx, 4
mov dword [esp + 0x34], ebx
jl 0x10043745
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0xe4]
je 0x10044ba7
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x4d
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x4c
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x1004442b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x4b
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x10044444
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x4a
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x1004445d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov byte [esp + 0x4b8], 1
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x10044b9d
lea eax, [esp + 0x394]
push eax
mov byte [esp + 0x4bc], 0x1d
call fcn.100489e3
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x4bc], 8
call fcn.1003fc17
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x22
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x21
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x100444e9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x20
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x10044502
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x1f
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x1004451b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov byte [esp + 0x4b8], 1
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [esp + 0x44]
jmp 0x100430ba
lea esi, [esp + 0x134]
call fcn.10046922
lea esi, [esp + 0x130]
call fcn.10046922
lea esi, [esp + 0x12c]
call fcn.10046922
lea eax, [esp + 0x394]
push eax
mov byte [esp + 0x4bc], 0x1d
call fcn.100489e3
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x4bc], 8
call fcn.1003fc17
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x27
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x26
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x100445cf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x25
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x100445e8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x24
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x10044601
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
mov byte [esp + 0x4b8], 1
jmp 0x1004367f
lea ecx, [esp + 0xa8]
mov byte [esp + 0x4b8], 0x29
call fcn.1003a351
mov byte [esp + 0x4b8], 0x28
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10044648
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x23
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1004465e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea esi, [esp + 0x134]
call fcn.10046922
lea esi, [esp + 0x130]
call fcn.10046922
lea esi, [esp + 0x12c]
call fcn.10046922
lea eax, [esp + 0x394]
push eax
mov byte [esp + 0x4bc], 0x1d
call fcn.100489e3
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x4bc], 8
call fcn.1003fc17
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x2e
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x2d
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x100446ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x2c
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x10044708
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x2b
jmp 0x100445f0
lea eax, [esp + 0x33c]
push eax
mov byte [esp + 0x4bc], 0x2a
call fcn.1003a273
lea ecx, [esp + 0xa8]
mov byte [esp + 0x4b8], 0x29
call fcn.1003a351
mov byte [esp + 0x4b8], 0x28
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10044754
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x23
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1004476a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea esi, [esp + 0x134]
call fcn.10046922
lea esi, [esp + 0x130]
call fcn.10046922
lea esi, [esp + 0x12c]
call fcn.10046922
lea eax, [esp + 0x394]
push eax
mov byte [esp + 0x4bc], 0x1d
call fcn.100489e3
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x4bc], 8
call fcn.1003fc17
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x33
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x32
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x100447fb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x31
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x10044814
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x30
jmp 0x100445f0
mov ebx, dword [esp + 0x1a8]
lea eax, [esp + 0x33c]
push eax
mov byte [esp + 0x4bc], 0x2a
call fcn.1003a273
lea ecx, [esp + 0xa8]
mov byte [esp + 0x4b8], 0x29
call fcn.1003a351
mov byte [esp + 0x4b8], 0x28
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10044867
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x23
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1004487d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea esi, [esp + 0x134]
call fcn.10046922
lea esi, [esp + 0x130]
call fcn.10046922
lea esi, [esp + 0x12c]
call fcn.10046922
lea eax, [esp + 0x394]
push eax
mov byte [esp + 0x4bc], 0x1d
call fcn.100489e3
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x4bc], 8
call fcn.1003fc17
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x37
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x36
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x1004490e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x35
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x10044927
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x34
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x10044940
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
mov byte [esp + 0x4b8], 1
jmp 0x100435a9
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x4bc], 0x3f
call fcn.1003a273
mov byte [esp + 0x4b8], 0x3c
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
push dword [esp + 0x160]
call fcn.1004d030
pop ecx
lea ecx, [esp + 0x118]
mov byte [esp + 0x4b8], 0x3a
call fcn.1003a351
lea ecx, [esp + 0xf0]
mov byte [esp + 0x4b8], 0x1e
call fcn.1003a351
lea eax, [esp + 0x394]
push eax
mov byte [esp + 0x4bc], 0x1d
call fcn.100489e3
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x4bc], 8
call fcn.1003fc17
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x44
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x43
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x10044a22
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x42
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x10044a3b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x41
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x10044a54
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
mov byte [esp + 0x4b8], 1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [esp + 0x4c]
jmp 0x100430ba
push dword [esp + 0xcc]
call fcn.1004d030
pop ecx
lea eax, [esp + 0x2e4]
push eax
mov byte [esp + 0x4bc], 0x3f
call fcn.1003a273
mov byte [esp + 0x4b8], 0x3c
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
push dword [esp + 0x160]
call fcn.1004d030
pop ecx
lea ecx, [esp + 0x118]
mov byte [esp + 0x4b8], 0x3a
call fcn.1003a351
lea ecx, [esp + 0xf0]
mov byte [esp + 0x4b8], 0x1e
call fcn.1003a351
lea eax, [esp + 0x394]
push eax
mov byte [esp + 0x4bc], 0x1d
call fcn.100489e3
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x4bc], 8
call fcn.1003fc17
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x49
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x48
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x10044b4d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x47
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x10044b66
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x46
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x10044b7f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
mov byte [esp + 0x4b8], 1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, 0x80004005
jmp 0x100430ba
xor edi, edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], 4
mov dword [esp + 0x74], vtable.CRecordVector_int_.0
mov ebx, dword [ebp + 0x10]
mov byte [esp + 0x4b8], 0x4e
cmp dword [ebx + 8], edi
jle 0x10044c16
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + edi*4]
cmp byte [eax + 0x38], 0
je 0x10044bf0
call fcn.10041f42
test al, al
jmp 0x10044c04
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x10044c06
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x70]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1c], 0
jne 0x10044c10
push edi
lea esi, [esp + 0x78]
call fcn.100414a0
inc edi
cmp edi, dword [ebx + 8]
jl 0x10044bdb
mov eax, dword [esp + 0x7c]
cmp eax, 1
mov esi, eax
jle 0x10044c65
mov edi, dword [esp + 0x80]
cdq
sub eax, edx
add edi, 0xfffffffc
sar eax, 1
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
push ebx
push esi
call fcn.100451b2
dec dword [esp + 0x3c]
pop ecx
pop ecx
jne 0x10044c34
mov eax, dword [edi + esi*4]
mov ecx, dword [edi + 4]
mov dword [edi + esi*4], ecx
mov dword [edi + 4], eax
xor eax, eax
dec esi
push ebx
push esi
inc eax
call fcn.100451b2
cmp esi, 1
pop ecx
pop ecx
jg 0x10044c47
and dword [esp + 0x10], 0
cmp dword [esp + 0x7c], 0
jle 0x10044d13
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebx + 0xc]
mov edi, dword [ecx + eax*4]
lea esi, [esp + 0x16c]
call fcn.1003b936
mov byte [esp + 0x4b8], 0x4f
cmp byte [edi + 0x39], 0
je 0x10044cba
mov eax, esi
push eax
lea ebx, [esp + 0x2a8]
mov esi, edi
call fcn.1004280a
mov ebx, dword [ebp + 0x10]
pop ecx
jmp 0x10044cd2
push dword [edi]
lea edi, [esp + 0x2a8]
push dword [ebp + 0xc]
lea edx, [esp + 0x174]
call fcn.10046805
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x16c]
push eax
lea eax, [esp + 0x2a8]
call fcn.1004687d
mov byte [esp + 0x4b8], 0x4e
push dword [esp + 0x17c]
call fcn.1004d030
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x80]
pop ecx
jl 0x10044c75
lea ecx, [esp + 0x74]
mov byte [esp + 0x4b8], 8
call fcn.1003a351
mov esi, dword [ebp + 0x18]
mov eax, esi
call fcn.1003a441
lea eax, [esi + 0x14]
call fcn.1003a441
lea eax, [esi + 0x28]
call fcn.1003a441
lea eax, [esi + 0x3c]
call fcn.1003a441
lea eax, [esi + 0x50]
call fcn.1003a441
lea eax, [esi + 0x64]
call fcn.1003a441
lea eax, [esi + 0x78]
push eax
call fcn.10041f2b
lea eax, [esi + 0xa0]
push eax
call fcn.10041f2b
lea eax, [esi + 0xc8]
push eax
call fcn.10041f2b
lea eax, [esi + 0xf0]
push eax
call fcn.10041f2b
lea eax, [esi + 0x118]
call fcn.1003a441
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x4bc], 3
call fcn.1004501a
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x4bc], 0x53
call fcn.1003cedd
mov byte [esp + 0x4b8], 0x52
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x10044dd1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x51
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x10044dea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x4b8], 0x50
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x10044e03
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x194]
call fcn.10047671
mov eax, dword [esp + 0x18]
mov byte [esp + 0x4b8], 1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor esi, esi
jmp 0x100430ba