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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d28c2
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 0x412bb5
mov eax, dword [ebx + 0xc]
add edx, dword [eax]
adc ecx, dword [eax + 4]
lea eax, [eax + 8]
sub edi, 1
jne 0x412ba8
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov dword [eax + 4], ecx
cmp byte [esi + 8], 0
je 0x412bc8
inc dword [esi + 0xc]
jmp 0x412c19
cmp byte [esi + 9], 0
je 0x412bf2
push 1
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 1
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x412c19
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
jne 0x412c0f
mov dword [ebp + 8], 1
lea eax, [ebp + 8]
push 0x50e338
push eax
call fcn.004a851a
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 1
inc dword [esi + 0x48]
cmp dword [ebx + 0x44], 0
jle 0x412e99
push 4
mov ecx, esi
call fcn.00411ca0
lea eax, [ebx + 0x28]
mov ecx, esi
push eax
lea eax, [ebx + 0x14]
push eax
push ebx
push 0
push 0
call fcn.004122c0
lea eax, [ebx + 0x3c]
mov ecx, esi
push eax
call fcn.00412340
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 0x412d9b
xor esi, esi
mov eax, dword [ebx + 0x70]
mov edi, dword [eax + esi*4]
cmp byte [edi + 0x1c], 0
je 0x412d8e
mov eax, dword [edi]
mov dword [ebp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x18], eax
cmp edx, ecx
jne 0x412cef
mov eax, 1
cmp ecx, 0x40
jl 0x412cd6
mov eax, ecx
shr eax, 2
jmp 0x412ce1
cmp ecx, 8
mov edx, 8
cmovge eax, edx
add eax, ecx
lea ecx, [ebp - 0x5c]
push eax
call fcn.00427d70
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 0x412d3c
mov eax, 1
cmp ecx, 0x40
jl 0x412d23
mov eax, ecx
shr eax, 2
jmp 0x412d2e
cmp ecx, 8
mov edx, 8
cmovge eax, edx
add eax, ecx
lea ecx, [ebp - 0x34]
push eax
call fcn.00427d70
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 0x412d7f
mov eax, 1
cmp ecx, 0x40
jl 0x412d66
mov eax, ecx
shr eax, 2
jmp 0x412d71
cmp ecx, 8
mov edx, 8
cmovge eax, edx
add eax, ecx
lea ecx, [ebp - 0x48]
push eax
call fcn.00427d70
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 0x412ca6
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.004125d0
cmp byte [esi + 8], 0
je 0x412dc1
inc dword [esi + 0xc]
jmp 0x412dfc
cmp byte [esi + 9], 0
je 0x412de6
push 0
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
movzx eax, cl
shr ecx, 8
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x412dfc
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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.00427ea0
push dword [ebp - 0x3c]
call fcn.004a5802
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.00427ea0
push dword [ebp - 0x28]
call fcn.004a5802
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.00427ea0
push dword [ebp - 0x50]
call fcn.004a5802
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebx + 0x6c], 0
jne 0x412edd
cmp byte [esi + 8], 0
jne 0x4136f6
cmp byte [esi + 9], 0
jne 0x413713
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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 0x412ee8
inc dword [esi + 0xc]
jmp 0x412f28
cmp byte [esi + 9], 0
je 0x412f12
push 5
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 5
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x412f28
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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.00411e30
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.00427d70
mov ecx, dword [ebp - 0x2c]
xor edi, edi
mov dword [ebp + 0x10], edi
cmp dword [ebx + 0x6c], edi
jle 0x413313
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 0x412fc7
cmp ecx, edx
jne 0x412fb7
mov eax, 1
cmp edx, 0x40
jl 0x412fa4
mov eax, edx
shr eax, 2
jmp 0x412fa9
cmp edx, esi
cmovge eax, esi
add eax, edx
lea ecx, [ebp - 0x34]
push eax
call fcn.00427d70
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 0x413001
cmp ecx, edx
jne 0x412fef
mov eax, 1
cmp edx, 0x40
jl 0x412fdc
mov eax, edx
shr eax, 2
jmp 0x412fe1
cmp edx, esi
cmovge eax, esi
add eax, edx
lea ecx, [ebp - 0x34]
push eax
call fcn.00427d70
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 0x412f80
mov esi, dword [ebp - 0x10]
test edx, edx
jle 0x413313
cmp byte [esi + 8], 0
je 0x413024
inc dword [esi + 0xc]
jmp 0x413067
cmp byte [esi + 9], 0
je 0x41304e
push 0xe
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 0xe
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x413064
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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.00411e30
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
call fcn.004121b0
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.00427d70
push edi
lea ecx, [ebp - 0x48]
call fcn.00427d70
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 0x4132b5
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 0x4131cb
cmp byte [eax + 0x1d], 0
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
sete byte [ebp + 0x13]
cmp edx, ecx
jne 0x413149
mov eax, 1
cmp ecx, 0x40
jl 0x413136
mov eax, ecx
shr eax, 2
jmp 0x41313b
cmp ecx, esi
cmovge eax, esi
add eax, ecx
lea ecx, [ebp - 0x5c]
push eax
call fcn.00427d70
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 0x413180
mov eax, dword [ebx + 0x124]
mov byte [ebp + 0x13], 1
cmp byte [edi + eax], 0
jne 0x413184
mov byte [ebp + 0x13], 0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
cmp edx, ecx
jne 0x4131b2
mov eax, 1
cmp ecx, 0x40
jl 0x41319f
mov eax, ecx
shr eax, 2
jmp 0x4131a4
cmp ecx, esi
cmovge eax, esi
add eax, ecx
lea ecx, [ebp - 0x48]
push eax
call fcn.00427d70
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 0x4131cb
inc dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
inc edi
cmp edi, dword [ebx + 0x6c]
jl 0x413100
mov esi, dword [ebp - 0x10]
test ecx, ecx
je 0x413245
cmp byte [esi + 8], 0
je 0x4131e7
inc dword [esi + 0xc]
jmp 0x413227
cmp byte [esi + 9], 0
je 0x413211
push 0xf
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 0xf
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x413227
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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.00411e30
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
call fcn.004121b0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4132b5
cmp byte [esi + 8], 0
je 0x413257
inc dword [esi + 0xc]
jmp 0x413297
cmp byte [esi + 9], 0
je 0x413281
push 0x10
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 0x10
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x413297
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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.00411e30
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
call fcn.004121b0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x48]
push dword [ebp - 0x40]
mov dword [ebp - 0x48], vtable.CBaseRecordVector.0
push 0
call fcn.00427ea0
push dword [ebp - 0x3c]
call fcn.004a5802
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.00427ea0
push dword [ebp - 0x50]
call fcn.004a5802
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.00427ea0
push dword [ebp - 0x28]
call fcn.004a5802
xor edx, edx
mov dword [ebp - 4], 0xffffffff
add esp, 4
xor edi, edi
cmp dword [ebx + 0x6c], edx
jle 0x413545
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 0x413351
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
test edi, edi
jle 0x413545
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 0x4133b9
ja 0x4133b1
cmp ebx, edx
jb 0x4133b9
add edi, 7
cmp edi, 0x3f
jl 0x413390
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
cmp byte [esi + 8], 0
je 0x4133ca
inc dword [esi + 0xc]
jmp 0x41340a
cmp byte [esi + 9], 0
je 0x4133f4
push 0x11
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 0x11
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x41340a
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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.00411e30
cmp byte [esi + 8], 0
je 0x413422
inc dword [esi + 0xc]
jmp 0x41345d
cmp byte [esi + 9], 0
je 0x413447
push 0
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
movzx eax, cl
shr ecx, 8
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x41345d
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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 0x413545
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 0x413538
cmp byte [esi + 8], 0
mov eax, dword [eax + 0x10]
movzx ebx, word [eax + edi*2]
je 0x413496
inc dword [esi + 0xc]
jmp 0x4134d4
cmp byte [esi + 9], 0
je 0x4134bf
push ebx
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
movzx eax, bl
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x4134d4
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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 0x4134e5
inc dword [esi + 0xc]
jmp 0x413525
cmp byte [esi + 9], 0
je 0x413510
push dword [ebp - 0x1c]
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
movzx eax, bl
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x413525
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
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 0x413484
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
inc ecx
mov dword [ebp + 0x10], ecx
cmp ecx, dword [ebx + 0x6c]
jl 0x413470
mov edi, dword [ebp + 0xc]
cmp byte [edi + 1], 0
je 0x41355b
push 0x12
lea eax, [ebx + 0x78]
mov ecx, esi
push eax
call fcn.004129c0
cmp byte [edi + 2], 0
je 0x413571
push 0x13
lea eax, [ebx + 0xa0]
mov ecx, esi
push eax
call fcn.004129c0
cmp byte [edi + 3], 0
je 0x413587
push 0x14
lea eax, [ebx + 0xc8]
mov ecx, esi
push eax
call fcn.004129c0
push 0x18
lea eax, [ebx + 0xf0]
mov ecx, esi
push eax
call fcn.004129c0
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.00427d70
xor edi, edi
cmp dword [ebx + 0x6c], edi
jle 0x41367c
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 0x41361d
mov eax, 1
cmp edx, 0x40
jl 0x413604
mov eax, edx
shr eax, 2
jmp 0x41360f
cmp edx, 8
mov ecx, 8
cmovge eax, ecx
add eax, edx
lea ecx, [ebp - 0x5c]
push eax
call fcn.00427d70
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 0x4135e0
mov dword [ebp + 8], esi
test esi, esi
mov esi, dword [ebp - 0x10]
jle 0x41367f
push 4
push 0x15
push eax
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
call fcn.00412920
xor edi, edi
cmp dword [ebx + 0x6c], edi
jle 0x41367c
nop
mov eax, dword [ebx + 0x70]
mov eax, dword [eax + edi*4]
cmp byte [eax + 0x1f], 0
je 0x413676
push dword [eax + 8]
mov ecx, esi
call fcn.00411d20
inc edi
cmp edi, dword [ebx + 0x6c]
jl 0x413660
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.00427ea0
push dword [ebp - 0x50]
call fcn.004a5802
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [esi + 8], 0
je 0x4136b5
inc dword [esi + 0xc]
jmp 0x4136f0
cmp byte [esi + 9], 0
je 0x4136da
push 0
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
movzx eax, cl
shr ecx, 8
xor ecx, dword [eax*4 + 0x515de0]
mov dword [esi + 0x10], ecx
jmp 0x4136f0
mov ecx, dword [esi + 0x48]
cmp dword [esi + 0x44], ecx
je 0x412bfa
mov eax, dword [esi + 0x40]
mov byte [ecx + eax], 0
inc dword [esi + 0x48]
cmp byte [esi + 8], 0
je 0x41370d
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 0x413744
push 0
lea ecx, [esi + 0x18]
call fcn.00411900
mov ecx, dword [esi + 0x10]
movzx eax, cl
shr ecx, 8
xor ecx, dword [eax*4 + 0x515de0]
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 0x412ebf
mov dword [ebp + 0x10], 1
lea eax, [ebp + 0x10]
push 0x50e338
jmp 0x412c09