Function at 0x511eb0
Capabilities:
Check http status code
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x405996
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xdc
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x404a20
mov ax, word [0x56367a]
xor ebx, ebx
cmp word [0x563678], ax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x94], ebx
jne 0x51671d
cmp ax, 0x7fbc
jne 0x511f6d
push ebx
call fcn.00431dc0
push 0x5167e9
jmp 0x51674f
cmp ax, 0x7fbd
jne 0x511f89
push ebx
call fcn.0053c220
push ebx
call fcn.00431dc0
push 0x5167e9
jmp 0x51674f
mov edi, dword [ebp + 8]
cmp di, 2
jne 0x511f97
mov edi, 0xa
mov cx, word [0x56464e]
cmp cx, 0x62
je 0x5165e1
cmp cx, 0x63
je 0x5165e1
cmp cx, 0xffff
je 0x5163b9
cmp cx, 0x5b
je 0x5163b9
cmp cx, bx
jne 0x5120a2
movsx ecx, ax
mov edx, ecx
sub edx, ebx
je 0x512067
sub edx, 0x3e6
je 0x512043
dec edx
je 0x512026
mov word [0x564650], ax
mov eax, dword [0x563668]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub ecx, edx
mov edx, ecx
shl edx, 6
add edx, ecx
cmp word [eax + edx*4 + 2], bx
jge 0x5160d0
push 0xffffffffffffffff
call fcn.00510fe0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
push 0x3e7
call fcn.00510fe0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
mov cx, word [0x564652]
mov word [0x563678], 0xfffe
not cx
mov word [0x564652], cx
push 0x5167e9
jmp 0x51674f
push 3
call fcn.00510fe0
xor edx, edx
mov ecx, 0x56465c
mov word [0x564664], bx
mov word [0x564654], bx
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov dword [0x562a9c], ebx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp cx, 1
je 0x515fc2
cmp cx, 2
je 0x515fc2
cmp cx, 3
je 0x515e3f
cmp cx, 4
je 0x515e3f
cmp cx, 0x3e7
je 0x515e3f
cmp cx, 5
jl 0x516714
cmp cx, 0xe
jg 0x516714
cmp ax, bx
jne 0x51210e
push 1
call fcn.00510fe0
mov dword [0x562a9c], ebx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 1
jne 0x512220
movsx ecx, word [0x564650]
mov eax, dword [0x563668]
mov edx, ecx
sub edx, dword [eax + 0x14]
mov esi, edx
shl esi, 6
add esi, edx
mov edx, dword [eax + 0xc]
mov edi, dword [edx + esi*4 + 0x100]
movsx edx, word [0x564654]
mov ebx, dword [edi + 0x14]
mov esi, edx
sub esi, ebx
lea ebx, [esi*8]
sub ebx, esi
mov esi, dword [edi + 0xc]
shl ebx, 4
lea esi, [ebx + esi + 0x20]
mov bl, byte [esi]
inc bl
mov byte [esi], bl
mov edi, dword [eax + 0x14]
mov esi, ecx
sub esi, edi
mov edi, esi
shl edi, 6
add edi, esi
mov esi, dword [eax + 0xc]
mov edi, dword [esi + edi*4 + 0x100]
mov esi, edx
sub esi, dword [edi + 0x14]
lea ebx, [esi*8]
sub ebx, esi
mov esi, dword [edi + 0xc]
shl ebx, 4
lea esi, [ebx + esi + 0x20]
cmp byte [esi], 3
jne 0x512199
mov byte [esi], 7
mov edi, dword [eax + 0x14]
mov esi, ecx
sub esi, edi
mov edi, esi
shl edi, 6
add edi, esi
mov esi, dword [eax + 0xc]
mov edi, dword [esi + edi*4 + 0x100]
mov esi, edx
sub esi, dword [edi + 0x14]
lea ebx, [esi*8]
sub ebx, esi
mov esi, dword [edi + 0xc]
shl ebx, 4
lea esi, [ebx + esi + 0x20]
cmp byte [esi], 8
jne 0x5121d1
mov byte [esi], 9
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub ecx, ebx
mov esi, ecx
shl esi, 6
add esi, ecx
mov eax, dword [eax + esi*4 + 0x100]
sub edx, dword [eax + 0x14]
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [eax + 0xc]
shl ecx, 4
lea eax, [ecx + edx + 0x20]
mov cl, byte [ecx + edx + 0x20]
cmp cl, 0xb
jne 0x516714
mov byte [eax], 0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 2
jne 0x51223e
call fcn.0050f670
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 3
jne 0x51225c
call fcn.00510ea0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 4
jne 0x51227c
push 2
call fcn.005100a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 5
jne 0x5122f3
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x18]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov edx, dword [ecx + 0x14]
push 8
sub eax, edx
push ebx
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x25]
movsx edx, di
mov dword [ebp - 0x30], ecx
push edx
jmp 0x5166e0
cmp ax, 6
jne 0x51236a
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x18]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov edx, dword [ecx + 0x14]
push 0x10
sub eax, edx
push ebx
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x5e]
movsx edx, di
mov dword [ebp - 0x30], ecx
push edx
jmp 0x5166e0
cmp ax, 7
jne 0x51240c
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x18]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov edx, dword [ecx + 0x14]
push 3
sub eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x5f]
mov dword [ebp - 0x30], ecx
push ebx
lea edx, [ebp - 0x38]
push 1
push edx
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea eax, [ebp - 0x14]
push eax
call esi
lea ecx, [ebp - 0x18]
push ecx
call esi
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 8
jne 0x51242c
push 1
call fcn.005100a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 9
jne 0x51244a
call fcn.0050ecb0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xa
jl 0x512473
cmp ax, 0x12
jg 0x512473
sub ax, 0xa
mov word [0x563678], 0xfffe
mov word [0x56465a], ax
push 0x5167e9
jmp 0x51674f
cmp ax, 0x13
jne 0x512492
push ebx
call fcn.005100a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x14
jne 0x51250a
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x18]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov edx, dword [ecx + 0x14]
push 0xf
sub eax, edx
push ebx
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x60]
movsx edx, di
mov dword [ebp - 0x30], ecx
push edx
jmp 0x5166e0
cmp ax, 0x15
jne 0x51252a
push 4
call fcn.005100a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x16
jne 0x5125cc
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x18]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov edx, dword [ecx + 0x14]
push 3
sub eax, edx
push ebx
push 1
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x21]
lea edx, [ebp - 0x38]
push edx
mov dword [ebp - 0x30], ecx
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea eax, [ebp - 0x14]
push eax
call esi
lea ecx, [ebp - 0x18]
push ecx
call esi
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x17
jne 0x51263f
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x18]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov edx, dword [ecx + 0x14]
push 1
sub eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x2b]
mov dword [ebp - 0x30], ecx
jmp 0x5123db
cmp ax, 0x18
jne 0x51265e
push ebx
call fcn.005101a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x19
jne 0x51267e
push 1
call fcn.005101a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x1a
jne 0x51269d
push ebx
call fcn.0050f8e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
mov ebx, 0x1b
cmp ax, bx
jne 0x5126c4
push 0x2af8
call fcn.0050f8e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x1c
jne 0x5126e7
push 0xffffd508
call fcn.0050f8e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x1d
jne 0x51270a
push 0x5209
call fcn.0050f8e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x1e
jne 0x51277f
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x18]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov ebx, dword [ecx + 0x14]
push 3
sub eax, ebx
push 0
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x26]
mov dword [ebp - 0x30], ecx
jmp 0x5123dc
cmp ax, 0x1f
jne 0x5127a4
mov edx, dword [0x564698]
push edx
call fcn.00510560
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x20
jne 0x5127b9
mov eax, dword [0x563668]
lea ecx, [ebp - 0x1c]
push eax
push ecx
jmp 0x514bb6
cmp ax, 0x21
jne 0x51284f
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
push 0xffffffffffffffff
push 0xf
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4011
lea ecx, [eax + edx*4 + 0xe]
mov dword [ebp - 0x30], ecx
jmp 0x513ec1
cmp ax, 0x22
jne 0x5129a3
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x20]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x20]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x1c]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x18]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov eax, dword [ebp - 0x14]
push 0xffffffffffffffff
push 3
push 0
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
shl ecx, 3
sub edx, ecx
lea eax, [ebp - 0x38]
add edx, 8
push 1
push eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x38], 0x4011
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x14]
push ecx
call esi
lea edx, [ebp - 0x18]
push edx
call esi
lea eax, [ebp - 0x1c]
push eax
call esi
lea ecx, [ebp - 0x20]
push ecx
call esi
movsx eax, word [0x564650]
mov esi, dword [0x563668]
mov ecx, eax
sub ecx, dword [esi + 0x14]
mov edx, ecx
shl edx, 6
add edx, ecx
mov ecx, dword [esi + 0xc]
mov edi, dword [ecx + edx*4 + 0x100]
movsx ecx, word [0x564654]
mov ebx, dword [edi + 0x14]
mov edx, ecx
sub edx, ebx
lea ebx, [edx*8]
sub ebx, edx
mov edx, dword [edi + 0xc]
mov edi, dword [0x564698]
shl ebx, 4
mov ebx, dword [ebx + edx + 0x10]
mov edx, edi
mov dword [ebp - 0xdc], ebx
sub edx, dword [ebx + 0x14]
lea ebx, [edx*8]
sub ebx, edx
mov edx, dword [ebp - 0xdc]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + ebx*4 + 0x18]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
shl ebx, 3
sub edx, ebx
mov ebx, edx
xor edx, edx
jmp 0x514e85
cmp ax, 0x23
jne 0x512b5a
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x20]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x20]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x1c]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x18]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov eax, dword [ebp - 0x14]
mov ecx, 2
push 0xffffffffffffffff
push 3
mov esi, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, esi
push 0
push 1
mov dword [ebp - 0x38], 0x4011
lea eax, [edx + ecx*8]
lea ecx, [ebp - 0x38]
push ecx
mov dword [ebp - 0x30], eax
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea edx, [ebp - 0x14]
push edx
call esi
lea eax, [ebp - 0x18]
push eax
call esi
lea ecx, [ebp - 0x1c]
push ecx
call esi
lea edx, [ebp - 0x20]
push edx
call esi
movsx eax, word [0x564650]
mov esi, dword [0x563668]
mov ecx, eax
sub ecx, dword [esi + 0x14]
mov edx, ecx
shl edx, 6
add edx, ecx
mov ecx, dword [esi + 0xc]
mov edi, dword [ecx + edx*4 + 0x100]
mov word [0x563678], 0xfffe
movsx ecx, word [0x564654]
mov ebx, dword [edi + 0x14]
mov edx, ecx
sub edx, ebx
push 0x5167e9
lea ebx, [edx*8]
sub ebx, edx
mov edx, dword [edi + 0xc]
mov edi, dword [0x564698]
shl ebx, 4
mov ebx, dword [ebx + edx + 0x10]
mov edx, edi
mov dword [ebp - 0xdc], ebx
sub edx, dword [ebx + 0x14]
lea ebx, [edx*8]
sub ebx, edx
mov edx, dword [ebp - 0xdc]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + ebx*4 + 0x18]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
shl ebx, 3
sub edx, ebx
mov ebx, edx
xor edx, edx
mov dword [ebx + 0x14], edx
mov ebx, dword [esi + 0x14]
sub eax, ebx
mov ebx, eax
shl ebx, 6
add ebx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ebx*4 + 0x100]
sub ecx, dword [eax + 0x14]
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [eax + 0xc]
shl esi, 4
mov eax, dword [esi + ecx + 0x10]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edi, ecx
lea ecx, [edi*8]
sub ecx, edi
mov eax, dword [eax + ecx*4 + 0x18]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl ecx, 3
sub eax, ecx
mov word [eax + 0x12], dx
jmp 0x51674f
cmp ax, 0x24
jne 0x512d11
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x20]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x20]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x1c]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x18]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov eax, dword [ebp - 0x14]
mov ecx, 3
push 0xffffffffffffffff
push 3
mov esi, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, esi
push 0
push 1
mov dword [ebp - 0x38], 0x4011
lea eax, [edx + ecx*8]
lea ecx, [ebp - 0x38]
push ecx
mov dword [ebp - 0x30], eax
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea edx, [ebp - 0x14]
push edx
call esi
lea eax, [ebp - 0x18]
push eax
call esi
lea ecx, [ebp - 0x1c]
push ecx
call esi
lea edx, [ebp - 0x20]
push edx
call esi
movsx eax, word [0x564650]
mov esi, dword [0x563668]
mov ecx, eax
sub ecx, dword [esi + 0x14]
mov edx, ecx
shl edx, 6
add edx, ecx
mov ecx, dword [esi + 0xc]
mov edi, dword [ecx + edx*4 + 0x100]
mov word [0x563678], 0xfffe
movsx ecx, word [0x564654]
mov ebx, dword [edi + 0x14]
mov edx, ecx
sub edx, ebx
push 0x5167e9
lea ebx, [edx*8]
sub ebx, edx
mov edx, dword [edi + 0xc]
mov edi, dword [0x564698]
shl ebx, 4
mov ebx, dword [ebx + edx + 0x10]
mov edx, edi
mov dword [ebp - 0xdc], ebx
sub edx, dword [ebx + 0x14]
lea ebx, [edx*8]
sub ebx, edx
mov edx, dword [ebp - 0xdc]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + ebx*4 + 0x18]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
shl ebx, 3
sub edx, ebx
mov ebx, edx
xor edx, edx
mov dword [ebx + 0x1c], edx
mov ebx, dword [esi + 0x14]
sub eax, ebx
mov ebx, eax
shl ebx, 6
add ebx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ebx*4 + 0x100]
sub ecx, dword [eax + 0x14]
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [eax + 0xc]
shl esi, 4
mov eax, dword [esi + ecx + 0x10]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edi, ecx
lea ecx, [edi*8]
sub ecx, edi
mov eax, dword [eax + ecx*4 + 0x18]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl ecx, 3
sub eax, ecx
mov word [eax + 0x1a], dx
jmp 0x51674f
cmp ax, 0x25
jne 0x512da4
mov ecx, dword [0x563668]
lea edx, [ebp - 0x1c]
push ecx
push edx
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4011
lea ecx, [eax + edx*4 + 0xd]
mov dword [ebp - 0x30], ecx
jmp 0x514c2f
cmp ax, 0x26
jne 0x512e3a
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
push 0xffffffffffffffff
push 3
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4011
lea ecx, [eax + edx*4 + 0xe]
mov dword [ebp - 0x30], ecx
jmp 0x514c33
cmp ax, 0x27
jne 0x512ed0
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
push 0xffffffffffffffff
push 0xe
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4011
lea ecx, [eax + edx*4 + 0xc]
mov dword [ebp - 0x30], ecx
jmp 0x514c33
cmp ax, 0x28
jl 0x512f5e
cmp ax, 0x30
jg 0x512f5e
mov edx, dword [0x563668]
sub ax, 0x28
movsx ecx, word [0x564650]
mov esi, dword [edx + 0x14]
mov word [0x563678], 0xfffe
sub ecx, esi
push 0x5167e9
mov esi, ecx
shl esi, 6
add esi, ecx
mov ecx, dword [edx + 0xc]
movsx eax, ax
mov edx, dword [ecx + esi*4 + 0x100]
movsx ecx, word [0x564654]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
lea esi, [ecx*8]
sub esi, ecx
shl esi, 4
mov ecx, dword [esi + edx + 0x6c]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
mov cx, word [eax + edx*2]
lea eax, [eax + edx*2]
neg cx
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 2
mov word [eax], cx
jmp 0x51674f
cmp ax, 0x31
jne 0x512f7c
call fcn.00510920
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x32
jne 0x512ff1
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x18]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov ebx, dword [ecx + 0x14]
push 1
sub eax, ebx
push 0
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x28]
mov dword [ebp - 0x30], ecx
jmp 0x5123dc
cmp ax, 0x33
jne 0x513016
mov edx, dword [0x564698]
push edx
call fcn.00510ab0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x34
jne 0x513039
mov dword [0x56469c], 1
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x35
jne 0x51305c
mov dword [0x56469c], 0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x36
jne 0x5130fc
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
push 0xffffffffffffffff
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4003
lea ecx, [eax + edx*4 + 8]
movsx edx, word [0x562df4]
push edx
push 0
mov dword [ebp - 0x30], ecx
push 1
jmp 0x513ec7
cmp ax, 0x37
jne 0x5131c3
mov eax, dword [0x562a88]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x68]
test eax, eax
fnclex
jge 0x51312c
mov edx, dword [0x562a88]
push 0x68
push 0x4212ac
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [0x563668]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
mov eax, dword [0x564698]
mov edx, dword [0x562a88]
mov edi, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, edi
mov esi, dword [edx]
lea edi, [eax*8]
sub edi, eax
mov eax, dword [ecx + edi*4 + 8]
push eax
push edx
call dword [esi + 0x60]
test eax, eax
fnclex
jge 0x516714
mov ecx, dword [0x562a88]
push 0x60
push 0x4212ac
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x38
jne 0x513256
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x1c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4011
lea ecx, [eax + edx*4 + 0xc]
mov dword [ebp - 0x30], ecx
jmp 0x514c2f
cmp ax, 0x39
jne 0x51326b
mov eax, dword [0x563668]
lea ecx, [ebp - 0x1c]
push eax
push ecx
jmp 0x512d26
cmp ax, 0x3a
jne 0x5132dd
mov ecx, dword [0x563668]
mov word [0x563678], 0xfffe
movsx eax, word [0x564650]
mov edi, dword [ecx + 0x14]
push 0x5167e9
sub eax, edi
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov byte [eax + edx*4 + 0xc], 1
jmp 0x51674f
cmp ax, 0x3b
jne 0x513398
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x50]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x50]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x4c]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x4c]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x48]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x48]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov bl, byte [eax + edx*4 + 0xe]
lea eax, [eax + edx*4 + 0xc]
inc bl
movzx cx, bl
cmp cx, word [0x562df4]
mov byte [eax + 2], bl
jle 0x51337e
mov byte [eax + 2], 0
mov byte [eax], 0
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea edx, [ebp - 0x48]
push edx
call esi
lea eax, [ebp - 0x4c]
push eax
call esi
lea ecx, [ebp - 0x50]
jmp 0x5123f6
cmp ax, 0x3c
jne 0x513411
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x18]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov edx, dword [ecx + 0x14]
push 9
sub eax, edx
push 0
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x2c]
movsx edx, di
mov dword [ebp - 0x30], ecx
push edx
jmp 0x5166e0
cmp ax, 0x3d
jne 0x5135ee
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
push 0xffffffffffffffff
push 8
mov edx, dword [ecx + 0x14]
push 0
sub eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4011
lea ecx, [eax + edx*4]
lea eax, [ebp - 0x38]
movsx edx, di
push edx
push eax
mov dword [ebp - 0x30], ecx
call fcn.00437e50
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x14]
push ecx
call edi
lea edx, [ebp - 0x18]
push edx
call edi
lea eax, [ebp - 0x1c]
push eax
call edi
mov ecx, dword [0x563668]
lea edx, [ebp - 0x28]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x28]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x24]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x24]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x20]
push ecx
push edx
call esi
mov eax, dword [0x563668]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov edx, dword [ebp - 0x20]
mov ecx, dword [0x564698]
mov eax, ecx
sub eax, dword [edx + 0x14]
lea esi, [eax*8]
sub esi, eax
mov eax, dword [edx + 0xc]
lea edx, [eax + esi*4 + 6]
mov eax, dword [ebp - 0x14]
push edx
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub ecx, ebx
lea edx, [ecx*8]
sub edx, ecx
lea ecx, [eax + edx*4]
push ecx
call fcn.00510fb0
lea edx, [ebp - 0x14]
push edx
call edi
lea eax, [ebp - 0x18]
push eax
call edi
lea ecx, [ebp - 0x1c]
push ecx
call edi
lea edx, [ebp - 0x20]
push edx
call edi
lea eax, [ebp - 0x24]
push eax
call edi
lea ecx, [ebp - 0x28]
push ecx
call edi
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x3e
jne 0x513685
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x1c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
push 0xffffffffffffffff
push 0xb
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4011
lea ecx, [eax + edx*4 + 1]
mov dword [ebp - 0x30], ecx
jmp 0x513ec1
cmp ax, 0x3f
je 0x515d2a
cmp ax, 0x40
je 0x515d2a
cmp ax, 0x41
je 0x515d2a
cmp ax, 0x42
je 0x515ca9
cmp ax, 0x43
je 0x515ca9
cmp ax, 0x44
je 0x515ca9
cmp ax, 0x45
jne 0x5137b9
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x6c]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x6c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x68]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x68]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x64]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x64]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
lea esi, [eax + edx*4 + 0xc]
mov al, byte [eax + edx*4 + 0xc]
cmp al, 1
jne 0x51379f
mov eax, dword [0x562a88]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x68]
test eax, eax
fnclex
jge 0x513773
mov edx, dword [0x562a88]
push 0x68
push 0x4212ac
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x562a88]
xor edx, edx
mov dl, byte [esi + 2]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x60]
test eax, eax
fnclex
jge 0x51379f
mov ecx, dword [0x562a88]
push 0x60
push 0x4212ac
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea edx, [ebp - 0x64]
push edx
call esi
lea eax, [ebp - 0x68]
push eax
call esi
lea ecx, [ebp - 0x6c]
jmp 0x5123f6
cmp ax, 0x46
jne 0x5137d9
push 0
call fcn.0050f9e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x47
jl 0x513805
cmp ax, 0x4f
jg 0x513805
sub ax, 0x46
movsx edx, ax
push edx
call fcn.00510d50
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x50
jne 0x513828
push 0x7d7c
call fcn.0050f8e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x51
jl 0x513854
cmp ax, 0x58
jg 0x513854
sub ax, 0x50
movsx eax, ax
push eax
call fcn.00510c10
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x59
jne 0x513874
push 1
call fcn.0050f9e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x5a
jne 0x513894
push 2
call fcn.0050f9e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x5b
je 0x515bd1
cmp ax, 0x5c
je 0x515bd1
cmp ax, 0x5d
je 0x515bd1
cmp ax, 0x5e
jne 0x513972
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x88]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x88]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x84]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x84]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x80]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x80]
mov eax, dword [0x564698]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov cl, byte [eax + edx*4 + 0xe]
lea eax, [eax + edx*4 + 0xc]
test cl, cl
setne cl
dec ecx
lea edx, [ebp - 0x80]
and ecx, 0x61
push edx
mov byte [eax + 2], cl
call esi
lea eax, [ebp - 0x84]
push eax
call esi
lea ecx, [ebp - 0x88]
jmp 0x5123f6
cmp ax, 0x5f
jne 0x513a09
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x1c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
push 0xffffffffffffffff
push 2
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4011
lea ecx, [eax + edx*4 + 1]
mov dword [ebp - 0x30], ecx
jmp 0x514c33
cmp ax, 0x60
jne 0x513a98
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
push 2
mov eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 1
sub eax, edx
mov dword [ebp - 0x38], 0x4002
mov dword [ebp - 0x30], eax
jmp 0x515ba9
cmp ax, 0x61
jne 0x513b19
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x1c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 1
sub eax, edx
add eax, 2
jmp 0x515b9b
cmp ax, 0x64
jne 0x513b41
mov edx, dword [0x564658]
mov word [0x563678], 0xfffe
not edx
mov word [0x564658], dx
push 0x5167e9
jmp 0x51674f
cmp ax, 0x65
jne 0x513c3e
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x94]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x94]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x90]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x90]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x8c]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x8c]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + edx*4]
mov dl, byte [eax + 0xc]
inc dl
mov cl, dl
mov byte [eax + 0xc], dl
cmp cl, 7
jne 0x513be8
mov byte [eax + 0xc], 0x15
cmp byte [eax + 0xc], 0x17
jne 0x513bf2
mov byte [eax + 0xc], 0x1a
cmp byte [eax + 0xc], bl
jne 0x513bfb
mov byte [eax + 0xc], 0
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x8c]
push ecx
mov dword [eax + 8], 0
mov byte [eax + 0xd], 0
mov byte [eax + 0xe], 0
call esi
lea edx, [ebp - 0x90]
push edx
call esi
lea eax, [ebp - 0x94]
push eax
call esi
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x6e
jne 0x513c5e
push 3
call fcn.005100a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x78
jne 0x513cd1
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov ebx, dword [ecx + 0x14]
push 3
sub eax, ebx
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4011
lea ecx, [edx + eax + 0x27]
mov dword [ebp - 0x30], ecx
jmp 0x5141ea
cmp ax, 0x82
jne 0x513d65
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x1c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov eax, 2
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
push 8
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4002
lea ecx, [eax + edx*2]
mov dword [ebp - 0x30], ecx
jmp 0x514c33
cmp ax, 0x8c
jne 0x513dd3
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov eax, 5
jmp 0x513d3f
cmp ax, 0x8d
jne 0x513f7d
mov eax, dword [0x563668]
movsx ecx, word [0x564650]
mov ebx, dword [eax + 0x14]
push eax
sub ecx, ebx
mov edx, ecx
shl edx, 6
add edx, ecx
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4 + 0x100]
movsx ecx, word [0x564654]
mov esi, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, esi
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [0x564698]
shl esi, 4
mov edx, dword [esi + edx + 0x10]
sub ecx, dword [edx + 0x14]
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [edx + 0xc]
cmp word [ecx + esi*4 + 6], 0xffff
jne 0x513efb
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x1c]
push edx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4003
lea ecx, [eax + edx*4 + 8]
mov dword [ebp - 0x30], ecx
push 0xffffffffffffffff
push 8
movsx edx, di
push 0
push edx
lea eax, [ebp - 0x38]
push eax
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x14]
push ecx
call esi
lea edx, [ebp - 0x18]
push edx
call esi
lea eax, [ebp - 0x1c]
push eax
call esi
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4011
lea ecx, [eax + edx*4 + 0xe]
mov dword [ebp - 0x30], ecx
jmp 0x513ebd
cmp ax, 0x96
jl 0x513fa9
cmp ax, 0xb3
jg 0x513fa9
sub ax, 0x95
movsx ecx, ax
push ecx
call fcn.00510410
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xb4
jne 0x51403d
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x1c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, 8
push 0xffffffffffffffff
push 4
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4002
lea ecx, [eax + edx*2]
mov dword [ebp - 0x30], ecx
jmp 0x514c33
cmp ax, 0xb5
jl 0x514069
cmp ax, 0xbc
jg 0x514069
sub ax, 0xb4
movsx eax, ax
push eax
call fcn.005102c0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xbd
jne 0x51408c
push 0x7fd7
call fcn.0050f8e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xbe
jne 0x5140af
push 0x7e78
call fcn.0050f8e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xbf
jl 0x514156
cmp ax, 0xc6
jg 0x514156
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x1c]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x54]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ax, word [0x56367a]
push 0xffffffffffffffff
sub ax, 0xbe
push 0xf
movsx ecx, ax
mov eax, dword [ebp - 0x14]
push 0
mov esi, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, esi
mov dword [ebp - 0x38], 0x4011
lea eax, [edx + ecx*4]
movsx ecx, di
mov dword [ebp - 0x30], eax
push ecx
jmp 0x514c37
cmp ax, 0xc7
jne 0x514179
push 0xffff8000
call fcn.0050f8e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xc8
jne 0x51420c
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x18]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov ebx, dword [ecx + 0x14]
push 2
sub eax, ebx
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x38], 0x4002
lea ecx, [edx + eax + 0x4c]
mov dword [ebp - 0x30], ecx
push 0
lea edx, [ebp - 0x38]
push 1
push edx
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea eax, [ebp - 0x14]
push eax
call esi
lea ecx, [ebp - 0x18]
push ecx
jmp 0x513ee6
cmp ax, 0xc9
jne 0x514231
mov edx, dword [0x564698]
push edx
call fcn.0050fe10
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xd2
jne 0x51424f
call fcn.0052dc90
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xd3
jne 0x51426d
call fcn.00527bb0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xd4
jne 0x514307
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
push 5
push 0
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
mov edx, eax
mov dword [ebp - 0x38], 0x4002
shl edx, 5
sub edx, eax
mov eax, dword [0x564698]
sub eax, edx
push 1
lea edx, [ecx + eax*2 + 0x3e]
mov dword [ebp - 0x30], edx
jmp 0x513ec7
cmp ax, 0xd5
jne 0x514335
mov eax, dword [0x564698]
lea ecx, [eax + eax*4 - 4]
mov word [0x56465a], cx
call fcn.0054aa70
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xd6
jne 0x514363
mov eax, dword [0x564698]
lea edx, [eax + eax*4 - 3]
mov word [0x56465a], dx
call fcn.0054aa70
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xd7
jne 0x514390
mov eax, dword [0x564698]
lea eax, [eax + eax*4 - 2]
mov word [0x56465a], ax
call fcn.0054aa70
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xd8
jne 0x5143be
mov eax, dword [0x564698]
lea ecx, [eax + eax*4 - 1]
mov word [0x56465a], cx
call fcn.0054aa70
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xd9
jne 0x514440
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x1c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov eax, 2
mov ecx, dword [ebp - 0x14]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
lea ecx, [eax + edx*2]
jmp 0x514c25
cmp ax, 0xda
jne 0x5144d3
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, 3
push 0xffffffffffffffff
push 3
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], 0x4002
lea ecx, [eax + edx*2]
mov dword [ebp - 0x30], ecx
jmp 0x514c33
cmp ax, 0xdb
jne 0x514541
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov eax, 4
jmp 0x514428
cmp ax, 0xdc
jne 0x514561
push 2
call fcn.005101a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xdd
jne 0x51458d
mov eax, dword [0x564698]
lea eax, [eax + eax*4]
mov word [0x56465a], ax
call fcn.0054aa70
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xe3
jne 0x5145ab
call fcn.00531360
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xe4
jne 0x5145cb
push 3
call fcn.005101a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xe5
jne 0x514664
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x1c]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
push 8
push 0
mov eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 1
sub eax, edx
mov dword [ebp - 0x38], 0x4002
movsx ecx, di
add eax, 0x36
push ecx
mov dword [ebp - 0x30], eax
jmp 0x514c37
cmp ax, 0xe6
jne 0x5146fc
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
push 8
push 0
mov eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 1
sub eax, edx
mov dword [ebp - 0x38], 0x4002
movsx ecx, di
add eax, 0x38
push ecx
mov dword [ebp - 0x30], eax
jmp 0x514c37
cmp ax, 0xed
jne 0x51477c
mov eax, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 1
sub eax, edx
add eax, 0x3a
jmp 0x515b9b
cmp ax, 0xee
jne 0x5147fd
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x1c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 1
sub eax, edx
add eax, 0x3c
jmp 0x515b9b
cmp ax, 0xef
jne 0x51487e
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x1c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x6c]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 1
sub eax, edx
add eax, 0x7a
jmp 0x515b9b
cmp ax, 0xf0
jne 0x51489e
push 3
call fcn.0050f9e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xf7
jne 0x5148be
push 4
call fcn.0050f9e0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xf8
jne 0x5148de
push 4
call fcn.005101a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x101
jl 0x514907
cmp ax, 0x104
jg 0x514907
sub ax, 0x101
push eax
call fcn.00531120
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x105
jne 0x51492c
push 0x564698
push 1
call fcn.0050ff30
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x106
jne 0x514951
push 0x564698
push 2
call fcn.0050ff30
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x107
jne 0x514976
push 0x564698
push 3
call fcn.0050ff30
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x108
jne 0x51499b
push 0x564698
push 4
call fcn.0050ff30
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x109
jne 0x5149c0
push 0x564698
push 5
call fcn.0050ff30
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x10a
jne 0x5149e5
push 0x564698
push 6
call fcn.0050ff30
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x10b
jne 0x514a0a
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
call esi
mov ecx, dword [ebp - 0x1c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
lea ecx, [eax + edx*4 + 4]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x38], 0x4002
push 0xffffffffffffffff
push 1
push 0
push 1
lea edx, [ebp - 0x38]
push edx
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea eax, [ebp - 0x14]
push eax
call esi
lea ecx, [ebp - 0x18]
push ecx
call esi
lea edx, [ebp - 0x1c]
push edx
jmp 0x513ee6
mov dword [ebx + 0xc], edx
mov ebx, dword [esi + 0x14]
sub eax, ebx
mov word [0x563678], 0xfffe
mov ebx, eax
push 0x5167e9
shl ebx, 6
add ebx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ebx*4 + 0x100]
sub ecx, dword [eax + 0x14]
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [eax + 0xc]
shl esi, 4
mov eax, dword [esi + ecx + 0x10]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edi, ecx
lea ecx, [edi*8]
sub ecx, edi
mov eax, dword [eax + ecx*4 + 0x18]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl ecx, 3
sub eax, ecx
mov word [eax + 0xa], dx
jmp 0x51674f
push 0xffffffffffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], 0x4002
push 1
push 0
push 1
lea ecx, [ebp - 0x38]
push ecx
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea edx, [ebp - 0x14]
push edx
call esi
lea eax, [ebp - 0x18]
push eax
call esi
lea ecx, [ebp - 0x1c]
push ecx
jmp 0x513ee6
mov edx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea eax, [ebp - 0x7c]
push edx
push eax
call esi
mov ecx, dword [ebp - 0x7c]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x78]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x78]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x74]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x74]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x18]
lea edx, [ebp - 0x70]
push ecx
push edx
call esi
mov ax, word [0x56367a]
sub ax, 0x5a
movsx ecx, ax
mov eax, dword [ebp - 0x70]
mov edi, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, edi
inc word [edx + ecx*8 + 2]
lea eax, [edx + ecx*8]
mov cx, word [edx + ecx*8 + 2]
cmp cx, word [0x562df4]
jle 0x515c89
mov word [eax + 2], 0
mov byte [eax], 0
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea eax, [ebp - 0x70]
push eax
call esi
lea ecx, [ebp - 0x74]
push ecx
call esi
lea edx, [ebp - 0x78]
push edx
call esi
lea eax, [ebp - 0x7c]
jmp 0x513ee5
mov edx, dword [0x563668]
sub ax, 0x41
movsx ecx, word [0x564650]
mov esi, dword [edx + 0x14]
mov word [0x563678], 0xfffe
sub ecx, esi
push 0x5167e9
mov esi, ecx
shl esi, 6
add esi, ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [ecx + esi*4 + 0x100]
movsx ecx, word [0x564654]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [0x564698]
shl esi, 4
mov edx, dword [esi + edx + 0x10]
sub ecx, dword [edx + 0x14]
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [edx + 0xc]
movsx edx, ax
mov ecx, dword [ecx + esi*4 + 0x18]
mov eax, dword [ecx + 0x14]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov byte [eax + edx*8], 1
jmp 0x51674f
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x60]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x60]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
lea edx, [ebp - 0x5c]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x5c]
movsx eax, word [0x564654]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x10]
lea edx, [ebp - 0x58]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x58]
mov eax, dword [0x564698]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x18]
lea edx, [ebp - 0x54]
push ecx
push edx
call esi
mov ax, word [0x56367a]
sub ax, 0x3e
movsx ecx, ax
mov eax, dword [ebp - 0x54]
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
mov al, byte [edx + ecx*8]
lea esi, [edx + ecx*8]
cmp al, 1
jne 0x515e1e
mov eax, dword [0x562a88]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x68]
test eax, eax
fnclex
jge 0x515df3
mov edx, dword [0x562a88]
push 0x68
push 0x4212ac
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx edx, word [esi + 2]
mov eax, dword [0x562a88]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x60]
test eax, eax
fnclex
jge 0x515e1e
mov ecx, dword [0x562a88]
push 0x60
push 0x4212ac
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea edx, [ebp - 0x54]
push edx
call esi
lea eax, [ebp - 0x58]
push eax
call esi
lea ecx, [ebp - 0x5c]
push ecx
call esi
lea edx, [ebp - 0x60]
push edx
jmp 0x513ee6
cmp ax, bx
jne 0x515e63
push ebx
call fcn.00510fe0
mov dword [0x562a9c], ebx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 2
jne 0x515ea3
cmp cx, 3
jne 0x515e89
push 4
call fcn.00510fe0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
push 3
call fcn.00510fe0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 3
jne 0x515ef7
mov ax, word [0x564664]
mov ecx, dword [0x564640]
mov word [0x564654], ax
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
movsx eax, ax
sub eax, edx
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4]
mov ecx, 0x56465c
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 3
call fcn.00510fe0
mov dword [0x562a9c], ebx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 4
jne 0x515f17
mov word [0x564654], bx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 5
jne 0x515f57
cmp word [0x564654], bx
push ebx
jne 0x515f3f
call fcn.0050d920
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
call fcn.0050daf0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 6
jne 0x515f80
cmp word [0x564654], bx
push 0xffffffffffffffff
jne 0x515f3f
call fcn.0050d920
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xb
jl 0x515fa9
cmp ax, 0x13
jg 0x515fa9
sub ax, 0xb
mov word [0x563678], 0xfffe
mov word [0x564660], ax
push 0x5167e9
jmp 0x51674f
cmp ax, 0x65
jl 0x516714
cmp ax, 0xc7
jg 0x516714
jmp 0x516260
cmp ax, bx
je 0x5163be
cmp ax, 1
jne 0x515fea
push ebx
call fcn.0050f2d0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 2
jne 0x516058
mov eax, dword [0x563668]
lea ecx, [ebp - 0x44]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x44]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + edx*4 + 8]
mov dl, byte [eax + 1]
inc dl
mov cl, dl
mov byte [eax + 1], dl
cmp cl, 3
jne 0x51602e
mov byte [eax + 1], 0
mov cx, word [0x564656]
push ecx
call fcn.004b1380
lea edx, [ebp - 0x44]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 3
jne 0x516078
push 0xfffffffffffffff6
call fcn.0050d7c0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 4
jne 0x516098
push 0xa
call fcn.0050d7c0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 5
jne 0x5160a5
push 0x63
jmp 0x5164ba
cmp ax, 6
jne 0x5160ca
push 2
call fcn.00510fe0
call fcn.0050d8a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 7
jne 0x5160ea
push 1
call fcn.00510fe0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 8
jne 0x516108
call fcn.0050de20
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 9
jne 0x51615b
mov eax, dword [0x563668]
lea ecx, [ebp - 0x14]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x14]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
lea ecx, [eax + edx*4]
push ecx
call fcn.0044dce0
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xa
jne 0x5161ae
mov eax, dword [0x563668]
lea ecx, [ebp - 0x14]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x14]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
lea ecx, [eax + edx*4]
push ecx
call fcn.0044d8b0
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xb
jl 0x516254
cmp ax, 0x63
jg 0x516254
call fcn.00442720
mov edx, dword [0x563668]
mov cx, word [0x56367a]
movsx eax, word [0x564650]
mov esi, dword [edx + 0x14]
sub cx, 0xa
sub eax, esi
mov word [0x564654], cx
mov esi, eax
mov word [0x564664], bx
shl esi, 6
add esi, eax
mov eax, dword [edx + 0xc]
mov edx, dword [eax + esi*4 + 0x100]
movsx eax, cx
mov ecx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ecx
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 4
movzx ax, byte [ecx + edx]
add eax, 5
push eax
call fcn.00510fe0
mov dword [0x562a9c], ebx
mov word [0x56465a], bx
mov word [0x562c3c], bx
call fcn.00442040
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x65
jl 0x5162a8
cmp ax, 0xc7
jg 0x5162a8
mov edx, dword [0x564640]
sub ax, 0x64
movsx ecx, word [0x564664]
mov edi, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, edi
movsx eax, ax
lea ecx, [ecx + ecx*4]
mov ecx, dword [edx + ecx*4 + 0x10]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, edx
movsx edx, word [ecx + eax*2]
push edx
call fcn.004ad2f0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xc9
jl 0x5162d1
cmp ax, 0x12b
jg 0x5162d1
sub ax, 0xc9
mov word [0x563678], 0xfffe
mov word [0x564662], ax
push 0x5167e9
jmp 0x51674f
cmp ax, 0x1f4
jne 0x5162ef
call fcn.0050de80
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x258
jne 0x51630d
call fcn.005107c0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x2bc
jne 0x51632d
push 0xffffffffffffffff
call fcn.0050f2d0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x3e9
jl 0x516359
cmp ax, 0x7cf
jg 0x516359
sub ax, 0x3e8
movsx eax, ax
push eax
call fcn.0050f050
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0x7d1
jl 0x516385
cmp ax, 0xbb7
jg 0x516385
sub ax, 0x7d0
movsx ecx, ax
push ecx
call fcn.0050f160
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xbb9
jl 0x516714
cmp ax, 0xf9f
jg 0x516714
sub ax, 0xbb8
movsx edx, ax
push edx
call fcn.0050f270
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, bx
jne 0x5163e4
push ebx
call fcn.00510fe0
mov word [0x564650], bx
mov dword [0x562a9c], ebx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 1
jne 0x516404
push 0x5b
call fcn.00510fe0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 2
jne 0x516472
mov eax, dword [0x563668]
lea ecx, [ebp - 0x40]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x40]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + edx*4 + 8]
mov dl, byte [eax + 1]
inc dl
mov cl, dl
mov byte [eax + 1], dl
cmp cl, 3
jne 0x516448
mov byte [eax + 1], 0
mov cx, word [0x564656]
push ecx
call fcn.004b1380
lea edx, [ebp - 0x40]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 3
jne 0x516492
push 0xfffffffffffffff6
call fcn.0050d7c0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 4
jne 0x5164b2
push 0xa
call fcn.0050d7c0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 5
jne 0x5164e6
push 0x62
call fcn.00510fe0
mov word [0x564654], bx
mov dword [0x562a9c], ebx
mov word [0x562a98], bx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 6
jne 0x51650b
push 2
call fcn.00510fe0
call fcn.0050d8a0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 7
jne 0x51652b
push 0xffffffffffffffff
call fcn.00510fe0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 8
jne 0x516549
call fcn.0050de20
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 0xb
jl 0x516572
cmp ax, 0x1d
jg 0x516572
sub ax, 0xb
mov word [0x563678], 0xfffe
mov word [0x564660], ax
push 0x5167e9
jmp 0x51674f
cmp ax, 0x64
jle 0x516714
mov edx, dword [0x563668]
mov si, 0x64
movsx ecx, word [0x564650]
mov edi, dword [edx + 0x14]
sub si, ax
sub ecx, edi
sub ax, 0x64
mov edi, ecx
mov word [0x563678], 0xfffe
shl edi, 6
add edi, ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [0x56366c]
push 0x5167e9
mov word [ecx + edi*4 + 2], si
movsx ecx, word [0x564656]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
lea esi, [ecx*8]
sub esi, ecx
lea ecx, [ecx + esi*4]
mov word [edx + ecx*4 + 0x42], ax
jmp 0x51674f
cmp ax, bx
jne 0x51662e
cmp cx, 0x62
jne 0x51660d
push 0xffffffffffffffff
call fcn.00510fe0
mov word [0x564654], bx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
push 1
call fcn.00510fe0
mov word [0x564654], bx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 1
jne 0x51664c
call fcn.0050faf0
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 2
jne 0x516679
movsx eax, word [0x564654]
push eax
call fcn.0050fcf0
mov word [0x564654], bx
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
cmp ax, 3
jne 0x5166fe
mov ecx, dword [0x563668]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea edx, [ebp - 0x18]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x18]
movsx eax, word [0x564650]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0xfc]
lea edx, [ebp - 0x14]
push ecx
push edx
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
movsx eax, word [0x564654]
mov esi, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, esi
push 2
push ebx
mov dword [ebp - 0x38], 0x4011
lea eax, [eax + eax*2]
push 1
lea edx, [ecx + eax*4]
mov dword [ebp - 0x30], edx
lea eax, [ebp - 0x38]
push eax
call fcn.00437e50
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x14]
push ecx
call esi
lea edx, [ebp - 0x18]
push edx
jmp 0x513ee6
cmp ax, 0xb
jl 0x516714
cmp ax, 0x14
jg 0x516714
sub ax, 0xa
mov word [0x564654], ax
mov word [0x563678], 0xfffe
push 0x5167e9
jmp 0x51674f
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea eax, [ebp - 0x40]
push eax
call esi
lea ecx, [ebp - 0x44]
push ecx
call esi
lea edx, [ebp - 0x48]
push edx
call esi
lea eax, [ebp - 0x4c]
push eax
call esi
lea ecx, [ebp - 0x50]
push ecx
call esi
lea edx, [ebp - 0x54]
push edx
call esi
lea eax, [ebp - 0x58]
push eax
call esi
lea ecx, [ebp - 0x5c]
push ecx
call esi
lea edx, [ebp - 0x60]
push edx
call esi
lea eax, [ebp - 0x64]
push eax
call esi
lea ecx, [ebp - 0x68]
push ecx
call esi
lea edx, [ebp - 0x6c]
push edx
call esi
lea eax, [ebp - 0x70]
push eax
call esi
lea ecx, [ebp - 0x74]
push ecx
call esi
lea edx, [ebp - 0x78]
push edx
call esi
lea eax, [ebp - 0x7c]
push eax
call esi
lea ecx, [ebp - 0x80]
push ecx
call esi
lea edx, [ebp - 0x84]
push edx
call esi
lea eax, [ebp - 0x88]
push eax
call esi
lea ecx, [ebp - 0x8c]
push ecx
call esi
lea edx, [ebp - 0x90]
push edx
call esi
lea eax, [ebp - 0x94]
push eax
call esi
ret