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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d16f2
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push esi
push edi
mov eax, dword [0x511070]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov ebx, dword [ebp + 8]
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov edi, dword [ebx + 8]
test edi, edi
jle 0x412bd5
mov eax, dword [ebx + 0xc]
add edx, dword [eax]
adc ecx, dword [eax + 4]
lea eax, [eax + 8]
sub edi, 1
jne 0x412bc8
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov dword [eax + 4], ecx
cmp byte [esi + 8], 0
je 0x412be8
inc dword [esi + 0xc]
jmp 0x412c39
cmp byte [esi + 9], 0
je 0x412c12
push 1
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 1
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x412c39
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
jne 0x412c2f
mov dword [ebp + 8], 1
lea eax, [ebp + 8]
push 0x50e000
push eax
call fcn.004a751a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 1
inc dword [esi + 0x48]
cmp dword [ebx + 0x44], 0
jle 0x412eb9
push 4
mov ecx, esi
call fcn.00411cc0
lea eax, [ebx + 0x28]
mov ecx, esi
push eax
lea eax, [ebx + 0x14]
push eax
push ebx
push 0
push 0
call fcn.004122e0
lea eax, [ebx + 0x3c]
mov ecx, esi
push eax
call fcn.00412360
xor ecx, ecx
mov dword [ebp - 0x4c], 8
xor edx, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x5c], vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov dword [ebp - 4], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x34], vtable.CRecordVector_bool_.0
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x48], vtable.CRecordVector_unsigned_int_.0
mov byte [ebp - 4], 2
cmp dword [ebx + 0x6c], edx
jle 0x412dbb
xor esi, esi
mov eax, dword [ebx + 0x70]
mov edi, dword [eax + esi*4]
cmp byte [edi + 0x1c], 0
je 0x412dae
mov eax, dword [edi]
mov dword [ebp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x18], eax
cmp edx, ecx
jne 0x412d0f
mov eax, 1
cmp ecx, 0x40
jl 0x412cf6
mov eax, ecx
shr eax, 2
jmp 0x412d01
cmp ecx, 8
mov edx, 8
cmovge eax, edx
add eax, ecx
lea ecx, [ebp - 0x5c]
push eax
call fcn.00427fc0
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp + 0x10]
mov dword [eax + edx*8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + edx*8 + 4], ecx
inc dword [ebp - 0x54]
mov al, byte [edi + 0x1e]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov byte [ebp + 0x13], al
cmp edx, ecx
jne 0x412d5c
mov eax, 1
cmp ecx, 0x40
jl 0x412d43
mov eax, ecx
shr eax, 2
jmp 0x412d4e
cmp ecx, 8
mov edx, 8
cmovge eax, edx
add eax, ecx
lea ecx, [ebp - 0x34]
push eax
call fcn.00427fc0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov cl, byte [ebp + 0x13]
mov byte [eax + edx], cl
inc dword [ebp - 0x2c]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov edi, dword [edi + 0xc]
cmp edx, ecx
jne 0x412d9f
mov eax, 1
cmp ecx, 0x40
jl 0x412d86
mov eax, ecx
shr eax, 2
jmp 0x412d91
cmp ecx, 8
mov edx, 8
cmovge eax, edx
add eax, ecx
lea ecx, [ebp - 0x48]
push eax
call fcn.00427fc0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [eax + edx*4], edi
inc dword [ebp - 0x40]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
inc esi
cmp esi, dword [ebx + 0x6c]
jl 0x412cc6
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebx + 0x50]
push eax
lea eax, [ebx + 0x3c]
push eax
call fcn.004125f0
cmp byte [esi + 8], 0
je 0x412de1
inc dword [esi + 0xc]
jmp 0x412e1c
cmp byte [esi + 9], 0
je 0x412e06
push 0
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
movzx eax, cl
shr ecx, 8
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x412e1c
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 0
inc dword [esi + 0x48]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x48]
push dword [ebp - 0x40]
mov dword [ebp - 0x48], vtable.CBaseRecordVector.0
push 0
call fcn.004280f0
push dword [ebp - 0x3c]
call fcn.004a47b2
add esp, 4
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x34]
push dword [ebp - 0x2c]
mov dword [ebp - 0x34], vtable.CBaseRecordVector.0
push 0
call fcn.004280f0
push dword [ebp - 0x28]
call fcn.004a47b2
add esp, 4
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x5c]
push dword [ebp - 0x54]
mov dword [ebp - 0x5c], vtable.CBaseRecordVector.0
push 0
call fcn.004280f0
push dword [ebp - 0x50]
call fcn.004a47b2
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebx + 0x6c], 0
jne 0x412efd
cmp byte [esi + 8], 0
jne 0x413716
cmp byte [esi + 9], 0
jne 0x413733
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 0
inc dword [esi + 0x48]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 8], 0
je 0x412f08
inc dword [esi + 0xc]
jmp 0x412f48
cmp byte [esi + 9], 0
je 0x412f32
push 5
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 5
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x412f48
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 5
inc dword [esi + 0x48]
mov eax, dword [ebx + 0x6c]
mov ecx, esi
cdq
push edx
push eax
call fcn.00411e50
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x34], vtable.CRecordVector_bool_.0
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x34]
push dword [ebx + 0x6c]
call fcn.00427fc0
mov ecx, dword [ebp - 0x2c]
xor edi, edi
mov dword [ebp + 0x10], edi
cmp dword [ebx + 0x6c], edi
jle 0x413333
lea esi, [edi + 8]
nop
mov eax, dword [ebx + 0x70]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edi*4]
cmp byte [eax + 0x1c], 0
je 0x412fe7
cmp ecx, edx
jne 0x412fd7
mov eax, 1
cmp edx, 0x40
jl 0x412fc4
mov eax, edx
shr eax, 2
jmp 0x412fc9
cmp edx, esi
cmovge eax, esi
add eax, edx
lea ecx, [ebp - 0x34]
push eax
call fcn.00427fc0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + 0x10]
mov byte [eax + ecx], 0
mov ecx, dword [ebp - 0x2c]
inc ecx
jmp 0x413021
cmp ecx, edx
jne 0x41300f
mov eax, 1
cmp edx, 0x40
jl 0x412ffc
mov eax, edx
shr eax, 2
jmp 0x413001
cmp edx, esi
cmovge eax, esi
add eax, edx
lea ecx, [ebp - 0x34]
push eax
call fcn.00427fc0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + 0x10]
mov byte [eax + ecx], 1
mov ecx, dword [ebp - 0x2c]
inc ecx
inc edx
mov dword [ebp + 0x10], edx
inc edi
mov dword [ebp - 0x2c], ecx
cmp edi, dword [ebx + 0x6c]
jl 0x412fa0
mov esi, dword [ebp - 0x10]
test edx, edx
jle 0x413333
cmp byte [esi + 8], 0
je 0x413044
inc dword [esi + 0xc]
jmp 0x413087
cmp byte [esi + 9], 0
je 0x41306e
push 0xe
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 0xe
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x413084
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 0xe
inc dword [esi + 0x48]
mov ecx, dword [ebp - 0x2c]
lea eax, [ecx + 7]
mov ecx, esi
shr eax, 3
push 0
push eax
call fcn.00411e50
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
call fcn.004121d0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x5c], vtable.CRecordVector_bool_.0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x48], vtable.CRecordVector_bool_.0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c]
mov edi, dword [ebp + 0x10]
push edi
call fcn.00427fc0
push edi
lea ecx, [ebp - 0x48]
call fcn.00427fc0
xor eax, eax
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebx + 0x6c], eax
jle 0x4132d5
lea esi, [ecx + 8]
nop dword [eax]
mov eax, dword [ebx + 0x70]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x1c], eax
cmp byte [eax + 0x1c], 0
jne 0x4131eb
cmp byte [eax + 0x1d], 0
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
sete byte [ebp + 0x13]
cmp edx, ecx
jne 0x413169
mov eax, 1
cmp ecx, 0x40
jl 0x413156
mov eax, ecx
shr eax, 2
jmp 0x41315b
cmp ecx, esi
cmovge eax, esi
add eax, ecx
lea ecx, [ebp - 0x5c]
push eax
call fcn.00427fc0
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov cl, byte [ebp + 0x13]
mov byte [eax + edx], cl
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
inc dword [ebp - 0x54]
lea eax, [edx + 1]
cmp byte [ecx + 0x1d], 0
cmovne eax, edx
mov dword [ebp - 0x14], eax
cmp edi, dword [ebx + 0x120]
jge 0x4131a0
mov eax, dword [ebx + 0x124]
mov byte [ebp + 0x13], 1
cmp byte [edi + eax], 0
jne 0x4131a4
mov byte [ebp + 0x13], 0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
cmp edx, ecx
jne 0x4131d2
mov eax, 1
cmp ecx, 0x40
jl 0x4131bf
mov eax, ecx
shr eax, 2
jmp 0x4131c4
cmp ecx, esi
cmovge eax, esi
add eax, ecx
lea ecx, [ebp - 0x48]
push eax
call fcn.00427fc0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp + 0x13]
mov byte [eax + edx], cl
inc dword [ebp - 0x40]
test cl, cl
mov ecx, dword [ebp - 0x14]
je 0x4131eb
inc dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
inc edi
cmp edi, dword [ebx + 0x6c]
jl 0x413120
mov esi, dword [ebp - 0x10]
test ecx, ecx
je 0x413265
cmp byte [esi + 8], 0
je 0x413207
inc dword [esi + 0xc]
jmp 0x413247
cmp byte [esi + 9], 0
je 0x413231
push 0xf
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 0xf
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x413247
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 0xf
inc dword [esi + 0x48]
mov eax, dword [ebp - 0x54]
mov ecx, esi
add eax, 7
shr eax, 3
push 0
push eax
call fcn.00411e50
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
call fcn.004121d0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4132d5
cmp byte [esi + 8], 0
je 0x413277
inc dword [esi + 0xc]
jmp 0x4132b7
cmp byte [esi + 9], 0
je 0x4132a1
push 0x10
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 0x10
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x4132b7
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 0x10
inc dword [esi + 0x48]
mov eax, dword [ebp - 0x40]
mov ecx, esi
add eax, 7
shr eax, 3
push 0
push eax
call fcn.00411e50
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
call fcn.004121d0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x48]
push dword [ebp - 0x40]
mov dword [ebp - 0x48], vtable.CBaseRecordVector.0
push 0
call fcn.004280f0
push dword [ebp - 0x3c]
call fcn.004a47b2
add esp, 4
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5c]
push dword [ebp - 0x54]
mov dword [ebp - 0x5c], vtable.CBaseRecordVector.0
push 0
call fcn.004280f0
push dword [ebp - 0x50]
call fcn.004a47b2
mov ecx, dword [ebp - 0x2c]
add esp, 4
push ecx
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x34]
push 0
mov dword [ebp - 0x34], vtable.CBaseRecordVector.0
call fcn.004280f0
push dword [ebp - 0x28]
call fcn.004a47b2
xor edx, edx
mov dword [ebp - 4], 0xffffffff
add esp, 4
xor edi, edi
cmp dword [ebx + 0x6c], edx
jle 0x413565
mov esi, dword [ebx + 0x70]
mov ebx, dword [ebx + 0x6c]
mov eax, dword [esi]
lea esi, [esi + 4]
mov ecx, dword [eax + 0x14]
lea eax, [edi + 1]
lea edx, [edx + ecx*2]
add edx, 2
test ecx, ecx
cmove eax, edi
mov edi, eax
sub ebx, 1
jne 0x413371
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
test edi, edi
jle 0x413565
inc edx
mov edi, 7
mov dword [ebp + 0x10], edx
mov ebx, edx
xor esi, esi
nop dword [eax]
xor edx, edx
mov eax, edi
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
cmp esi, ecx
jb 0x4133d9
ja 0x4133d1
cmp ebx, edx
jb 0x4133d9
add edi, 7
cmp edi, 0x3f
jl 0x4133b0
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
cmp byte [esi + 8], 0
je 0x4133ea
inc dword [esi + 0xc]
jmp 0x41342a
cmp byte [esi + 9], 0
je 0x413414
push 0x11
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 0x11
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x41342a
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 0x11
inc dword [esi + 0x48]
xor ecx, ecx
push ecx
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00411e50
cmp byte [esi + 8], 0
je 0x413442
inc dword [esi + 0xc]
jmp 0x41347d
cmp byte [esi + 9], 0
je 0x413467
push 0
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
movzx eax, cl
shr ecx, 8
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x41347d
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 0
inc dword [esi + 0x48]
xor ecx, ecx
mov dword [ebp + 0x10], ecx
cmp dword [ebx + 0x6c], ecx
jle 0x413565
nop dword [eax + eax]
mov eax, dword [ebx + 0x70]
xor edi, edi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x18], eax
cmp dword [eax + 0x14], edi
jl 0x413558
cmp byte [esi + 8], 0
mov eax, dword [eax + 0x10]
movzx ebx, word [eax + edi*2]
je 0x4134b6
inc dword [esi + 0xc]
jmp 0x4134f4
cmp byte [esi + 9], 0
je 0x4134df
push ebx
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
movzx eax, bl
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x4134f4
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], bl
inc dword [esi + 0x48]
shr ebx, 8
cmp byte [esi + 8], 0
mov byte [ebp - 0x1c], bl
je 0x413505
inc dword [esi + 0xc]
jmp 0x413545
cmp byte [esi + 9], 0
je 0x413530
push dword [ebp - 0x1c]
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
movzx eax, bl
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x413545
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], bl
inc dword [esi + 0x48]
mov eax, dword [ebp - 0x18]
inc edi
cmp edi, dword [eax + 0x14]
jle 0x4134a4
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
inc ecx
mov dword [ebp + 0x10], ecx
cmp ecx, dword [ebx + 0x6c]
jl 0x413490
mov edi, dword [ebp + 0xc]
cmp byte [edi + 1], 0
je 0x41357b
push 0x12
lea eax, [ebx + 0x78]
mov ecx, esi
push eax
call fcn.004129e0
cmp byte [edi + 2], 0
je 0x413591
push 0x13
lea eax, [ebx + 0xa0]
mov ecx, esi
push eax
call fcn.004129e0
cmp byte [edi + 3], 0
je 0x4135a7
push 0x14
lea eax, [ebx + 0xc8]
mov ecx, esi
push eax
call fcn.004129e0
push 0x18
lea eax, [ebx + 0xf0]
mov ecx, esi
push eax
call fcn.004129e0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x5c], vtable.CRecordVector_bool_.0
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x5c]
push dword [ebx + 0x6c]
call fcn.00427fc0
xor edi, edi
cmp dword [ebx + 0x6c], edi
jle 0x41369c
mov ecx, dword [ebp - 0x54]
xor esi, esi
nop dword [eax]
mov eax, dword [ebx + 0x70]
mov edx, dword [ebp - 0x58]
mov eax, dword [eax + edi*4]
mov al, byte [eax + 0x1f]
mov byte [ebp + 0xb], al
cmp ecx, edx
jne 0x41363d
mov eax, 1
cmp edx, 0x40
jl 0x413624
mov eax, edx
shr eax, 2
jmp 0x41362f
cmp edx, 8
mov ecx, 8
cmovge eax, ecx
add eax, edx
lea ecx, [ebp - 0x5c]
push eax
call fcn.00427fc0
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
inc edi
mov dl, byte [ebp + 0xb]
mov byte [eax + ecx], dl
lea eax, [esi + 1]
mov ecx, dword [ebp - 0x54]
inc ecx
test dl, dl
mov dword [ebp - 0x54], ecx
cmove eax, esi
mov esi, eax
cmp edi, dword [ebx + 0x6c]
jl 0x413600
mov dword [ebp + 8], esi
test esi, esi
mov esi, dword [ebp - 0x10]
jle 0x41369f
push 4
push 0x15
push eax
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
call fcn.00412940
xor edi, edi
cmp dword [ebx + 0x6c], edi
jle 0x41369c
nop
mov eax, dword [ebx + 0x70]
mov eax, dword [eax + edi*4]
cmp byte [eax + 0x1f], 0
je 0x413696
push dword [eax + 8]
mov ecx, esi
call fcn.00411d40
inc edi
cmp edi, dword [ebx + 0x6c]
jl 0x413680
mov ecx, dword [ebp - 0x54]
push ecx
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x5c]
push 0
mov dword [ebp - 0x5c], vtable.CBaseRecordVector.0
call fcn.004280f0
push dword [ebp - 0x50]
call fcn.004a47b2
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [esi + 8], 0
je 0x4136d5
inc dword [esi + 0xc]
jmp 0x413710
cmp byte [esi + 9], 0
je 0x4136fa
push 0
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
movzx eax, cl
shr ecx, 8
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
jmp 0x413710
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412c1a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 0
inc dword [esi + 0x48]
cmp byte [esi + 8], 0
je 0x41372d
inc dword [esi + 0xc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 9], 0
je 0x413764
push 0
lea ecx, [esi + 0x18]
call fcn.00411920
mov ecx, dword [esi + 0x10]
movzx eax, cl
shr ecx, 8
xor ecx, dword [eax*4 + 0x515d80]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
jne 0x412edf
mov dword [ebp + 0x10], 1
lea eax, [ebp + 0x10]
push 0x50e000
jmp 0x412c29