Function at 0x440a10
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x405216
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x80
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401618
mov edx, dword [ebp + 0x10]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
xor edi, edi
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], edi
call esi
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x24]
call esi
mov eax, dword [ebp + 0xc]
movzx cx, byte [eax]
cmp word [0x53a0d4], cx
je 0x4433f1
call fcn.0044c1a0
mov bx, word [0x53a104]
cmp bx, di
je 0x440b12
mov ecx, dword [0x53a0c8]
xor bx, bx
mov word [0x53a104], bx
mov edx, 1
mov eax, 8
cmp edx, eax
jg 0x440aee
mov esi, dword [ecx + 0x14]
mov eax, edx
sub eax, esi
mov esi, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov word [eax + esi + 0x1c], di
mov esi, dword [ecx + 0x14]
mov eax, edx
sub eax, esi
mov esi, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
cmp dword [eax + esi + 0xc], edi
jle 0x440adf
or bx, 0xffff
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov eax, 1
add edx, eax
jmp 0x440aa7
cmp bx, di
mov word [0x53a104], bx
je 0x440b12
fld dword [0x53a108]
fsub dword [0x53a10c]
fstp dword [0x53a108]
jne 0x4433f1
mov ecx, dword [ebp + 0xc]
mov eax, dword [0x538c08]
mov dword [0x53a108], 0x3f800000
mov dword [0x53a10c], 0x3dcccccd
mov bl, byte [ecx]
mov edx, dword [eax]
push ebx
push eax
mov word [0x53a110], di
call dword [edx + 0x3c]
cmp eax, edi
fnclex
jge 0x440b59
mov ecx, dword [0x538c08]
push 0x3c
push 0x4222d8
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
xor dx, dx
push edi
mov dl, bl
mov word [0x53a0d4], dx
call fcn.0043edc0
mov edx, dword [ebp - 0x20]
mov ecx, 0x53a0d8
call esi
mov edx, dword [ebp - 0x24]
mov ecx, 0x53a0dc
call esi
mov edi, dword [ebp + 8]
mov ecx, dword [0x53a0c8]
mov esi, 1
mov eax, 8
cmp esi, eax
jg 0x4433ef
mov ebx, dword [ecx + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, esi
sub eax, ebx
lea eax, [eax + eax*2]
shl eax, 4
mov word [eax + edx + 0x1c], 0
mov eax, dword [edi + 4]
movsx edx, word [0x53a0d4]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x68], eax
mov eax, edx
sub eax, ebx
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x60], edx
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4]
xor ebx, ebx
mov bl, byte [eax + 8]
cmp esi, ebx
jg 0x4433e3
mov ebx, dword [eax + 4]
mov eax, esi
sub eax, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4]
mov bl, byte [eax]
cmp bl, 1
jne 0x440e5d
mov eax, dword [0x538c1c]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
test eax, eax
fnclex
jge 0x440c28
mov edx, dword [0x538c1c]
push 0x40
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx ecx, word [0x53a0d4]
mov edx, dword [ebp - 0x64]
mov eax, ecx
sub eax, edx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x60], ecx
mov dword [0x5396b8], 0
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*4 + 4]
mov eax, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
movsx edx, word [eax + 2]
mov eax, dword [eax + 8]
mov dword [0x5396b0], edx
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
sub edx, ebx
cmp byte [edx], 0
jbe 0x440d6b
mov eax, dword [0x53a0c8]
mov edx, esi
mov ebx, dword [eax + 0x14]
sub edx, ebx
mov ebx, dword [eax + 0xc]
lea edx, [edx + edx*2]
shl edx, 4
mov word [edx + ebx + 0x1c], 0xffff
mov ebx, dword [eax + 0x14]
mov edx, esi
sub edx, ebx
mov ebx, dword [eax + 0xc]
lea edx, [edx + edx*2]
shl edx, 4
add edx, ebx
mov ebx, dword [edx + 0xc]
mov dword [edx + 0x20], ebx
mov edx, dword [edi + 4]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 4]
mov ecx, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
mov ecx, dword [edx + ecx*4 + 8]
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x14]
sub edx, ebx
mov ebx, dword [eax + 0x14]
movzx cx, byte [edx]
add ecx, 0x64
movsx edx, cx
mov ecx, esi
sub ecx, ebx
mov ebx, dword [eax + 0xc]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + ebx + 0xc], edx
mov ebx, dword [eax + 0x14]
mov ecx, esi
xor edx, edx
sub ecx, ebx
mov ebx, dword [eax + 0xc]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + ebx + 0x24], edx
mov ebx, dword [eax + 0x14]
mov ecx, esi
sub ecx, ebx
mov ebx, dword [eax + 0xc]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + ebx + 0x28], edx
mov ecx, dword [ebp - 0x60]
mov ebx, dword [edi + 4]
mov edx, ecx
sub edx, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea edx, [edx + edx*2]
mov ebx, dword [ebx + edx*4 + 4]
mov edx, esi
sub edx, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea edx, [edx + edx*2]
mov edx, dword [ebx + edx*4 + 8]
mov ebx, dword [edx + 0xc]
sub ebx, dword [edx + 0x14]
xor edx, edx
mov dl, byte [ebx + 1]
mov ebx, dword [eax + 0x14]
mov dword [ebp - 0x6c], edx
mov eax, dword [eax + 0xc]
fild dword [ebp - 0x6c]
mov edx, esi
sub edx, ebx
lea edx, [edx + edx*2]
shl edx, 4
fstp dword [edx + eax + 8]
mov eax, dword [edi + 4]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub ecx, ebx
mov dword [ebp - 0x68], eax
lea ecx, [ecx + ecx*2]
mov ecx, dword [eax + ecx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 8]
push ecx
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
cmp eax, 1
jne 0x440dd8
movsx eax, word [0x53a0d4]
sub eax, ebx
push 0
push 2
push 1
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
push 0x11
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
lea ecx, [eax + edx*4 + 8]
push ecx
push 1
push 0x80
call dword [sym.imp.MSVBVM60.DLL___vbaRedimPreserve]
add esp, 0x1c
movsx eax, word [0x53a0d4]
sub eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edx*4 + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x14]
sub ecx, edx
mov al, byte [ecx + 2]
cmp al, 1
jne 0x440e26
mov word [0x53a104], 0xffff
mov dword [0x53a108], 0x3f800000
mov dword [0x53a10c], 0x3d4ccccd
cmp al, 2
jne 0x4433dd
mov ecx, dword [0x53a0c8]
mov eax, 1
mov word [0x53a104], 0xffff
mov dword [0x53a108], 0x3f800000
mov dword [0x53a10c], 0x3d072b02
add esi, eax
jmp 0x440b8d
cmp bl, 2
jne 0x440e7e
movsx edx, word [eax + 2]
push edx
call fcn.0043edc0
mov ecx, dword [0x53a0c8]
mov eax, 1
add esi, eax
jmp 0x440b8d
cmp bl, 3
jne 0x440f2c
movsx edx, word [eax + 2]
sub edx, 0
je 0x440ef4
dec edx
je 0x440ec7
dec edx
jne 0x4433e3
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
shl ecx, 2
sub edx, ecx
mov ecx, 0x53a0d8
mov edx, dword [edx]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov ecx, dword [0x53a0c8]
mov eax, 1
add esi, eax
jmp 0x440b8d
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
shl ecx, 2
sub edx, ecx
mov ecx, 0x53a0dc
mov edx, dword [edx]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov ecx, dword [0x53a0c8]
mov eax, 1
add esi, eax
jmp 0x440b8d
mov eax, dword [eax + 4]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
shl ecx, 2
sub edx, ecx
mov ecx, 0x53a0d8
mov edx, dword [edx]
call ebx
xor edx, edx
mov ecx, 0x53a0dc
call ebx
mov ecx, dword [0x53a0c8]
mov eax, 1
add esi, eax
jmp 0x440b8d
cmp bl, 4
jne 0x44114e
mov dx, word [eax + 2]
test dx, dx
jle 0x4433e3
mov ecx, dword [0x538c1c]
cmp word [0x538a8c], 0
mov eax, dword [eax + 8]
push 0
mov ebx, dword [ecx]
push 0
je 0x44103d
mov ecx, dword [eax + 0xc]
push 0
sub ecx, dword [eax + 0x14]
xor eax, eax
push 0
mov al, byte [ecx]
push eax
mov eax, dword [0x538c6c]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0xffffffffffffffff
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0x4243c0
mov eax, dword [edx + ecx*8]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x440fc7
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ebx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
sub eax, ebx
push 0
push 0
push 1
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 0x14]
xor eax, eax
mov al, byte [ecx + 1]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441133
mov edx, dword [0x538c1c]
push 0xf4
push 0x420690
push edx
jmp 0x44112c
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 0x14]
movsx edx, dx
movzx ax, byte [ecx]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 5
movsx ecx, ax
mov eax, dword [0x538c6c]
push ecx
push 0
push 0
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ecx
push 0
push 0x4243c0
mov ecx, dword [eax + edx*8]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, dword [0x538c1c]
push eax
push esi
push edx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x4410b1
mov ecx, dword [0x538c1c]
push 0xf0
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ebx, dword [ebp - 0x64]
push 0x258
sub eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 0x14]
movzx ax, byte [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 5
movsx ecx, ax
mov eax, dword [0x538c1c]
push ecx
push 0
push 0
push esi
push eax
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441133
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx eax, word [0x53a0d4]
mov dword [ebp - 0x60], eax
sub eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
jmp 0x443301
cmp bl, 5
jne 0x441274
mov dx, word [eax + 2]
test dx, dx
jle 0x4433e3
mov eax, dword [eax + 8]
cmp word [0x538a8c], 0
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
je 0x4411d8
mov eax, dword [0x538c1c]
sub ecx, ebx
push 0
push 0
mov ebx, dword [eax]
xor eax, eax
mov al, byte [ecx]
push 0
push eax
xor eax, eax
mov al, byte [ecx + 1]
push eax
mov eax, dword [0x538c74]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0xffffffffffffffff
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0x4240cc
mov eax, dword [edx + ecx*4]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x441266
jmp 0x44124e
mov eax, dword [0x538c1c]
sub ecx, ebx
push 0
mov ebx, dword [eax]
movzx ax, byte [ecx]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
movsx eax, ax
push eax
movzx ax, byte [ecx + 1]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 5
movsx eax, cx
push eax
mov eax, dword [0x538c74]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0
push 0
mov eax, dword [edx + ecx*4]
push 0x4240cc
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x441266
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
jmp 0x4414aa
cmp bl, 6
jne 0x44153c
mov dx, word [eax + 2]
test dx, dx
jle 0x4433e3
mov eax, dword [eax + 8]
cmp word [0x538a8c], 0
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
je 0x44138d
mov eax, dword [0x538c1c]
sub ecx, ebx
push 0
push 0
mov ebx, dword [eax]
xor eax, eax
mov al, byte [ecx]
push 0
push eax
xor eax, eax
mov al, byte [ecx + 1]
push eax
mov eax, dword [0x538c74]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0xffffffffffffffff
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0x4240cc
mov eax, dword [edx + ecx*4]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x441314
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ecx, dword [ebp - 0x64]
push 0
sub eax, ecx
mov ecx, dword [ebp - 0x68]
push 0
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 8]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x14]
sub eax, edx
mov ecx, dword [0x538c1c]
movzx bx, byte [eax]
inc ebx
mov edx, dword [ecx]
movsx ebx, bx
push ebx
xor ebx, ebx
mov bl, byte [eax + 2]
push ebx
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x4414aa
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
jmp 0x4414a3
mov eax, dword [0x538c1c]
sub ecx, ebx
push 0
mov ebx, dword [eax]
movzx ax, byte [ecx]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
movsx eax, ax
push eax
movzx ax, byte [ecx + 1]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 5
movsx eax, cx
push eax
mov eax, dword [0x538c74]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0
push 0
mov eax, dword [edx + ecx*4]
push 0x4240cc
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x44141b
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ecx, dword [ebp - 0x64]
sub eax, ecx
mov ecx, dword [ebp - 0x68]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 8]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x14]
sub eax, edx
mov edx, dword [0x538c1c]
movzx cx, byte [eax]
movzx ax, byte [eax + 2]
inc ecx
mov ebx, dword [edx]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*2]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl eax, 5
lea ecx, [ecx + ecx*4]
shl ecx, 3
movsx ecx, cx
push ecx
movsx ecx, ax
push ecx
push 0
push 0
push esi
push edx
call dword [ebx + 0xf4]
test eax, eax
fnclex
jge 0x4414aa
mov edx, dword [0x538c1c]
push 0xf4
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x53a0c8]
mov ecx, esi
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov word [ecx + edx + 0x1c], 0xffff
mov edx, dword [edi + 4]
movsx ecx, word [0x53a0d4]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x60], ecx
sub ecx, ebx
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 4]
mov ecx, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
mov ebx, dword [eax + 0x14]
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 8]
mov ecx, esi
sub ecx, ebx
mov ebx, dword [eax + 0xc]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov ecx, dword [ecx + ebx + 0x14]
mov ebx, dword [edx + 0xc]
sub ebx, dword [edx + 0x14]
xor edx, edx
mov dl, byte [ebx]
mov ebx, 2
sub ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
mov dword [ecx + ebx*4], edx
mov edx, dword [eax + 0x14]
mov ecx, esi
sub ecx, edx
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + 0xc]
shl edx, 4
mov dword [edx + ecx + 0xc], 3
jmp 0x44339d
cmp bl, 7
jne 0x44193a
cmp word [eax + 2], 0
jle 0x4433e3
mov ebx, dword [ecx + 0x14]
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + ebx + 0x14]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl ebx, 2
sub eax, ebx
mov dword [eax], 0
mov ebx, dword [ecx + 0x14]
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov dword [eax + ebx + 4], 0
mov ebx, dword [edi + 4]
mov eax, edx
sub eax, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea eax, [eax + eax*2]
mov ebx, dword [ebx + eax*4 + 4]
mov eax, esi
sub eax, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [ebx + eax*4 + 8]
mov ebx, dword [eax + 0xc]
sub ebx, dword [eax + 0x14]
xor eax, eax
mov al, byte [ebx + 2]
mov ebx, dword [ecx + 0x14]
mov dword [ebp - 0x74], eax
mov eax, esi
fild dword [ebp - 0x74]
sub eax, ebx
mov ebx, dword [ecx + 0xc]
fmul dword [0x538b5c]
lea eax, [eax + eax*2]
shl eax, 4
fstp dword [eax + ebx + 8]
mov ebx, dword [ecx + 0x14]
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov word [eax + ebx + 0x1c], 0xffff
mov ebx, dword [edi + 4]
mov eax, edx
sub eax, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea eax, [eax + eax*2]
mov ebx, dword [ebx + eax*4 + 4]
mov eax, esi
sub eax, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [ebx + eax*4 + 8]
mov ebx, dword [eax + 0xc]
sub ebx, dword [eax + 0x14]
movzx ax, byte [ebx + 3]
add eax, 5
movsx ebx, ax
mov eax, esi
sub eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov dword [eax + ecx + 0xc], ebx
mov eax, dword [edi + 4]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
lea edx, [edx + edx*2]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 8]
lea edx, [eax + edx*4]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x14]
sub eax, ebx
xor ebx, ebx
xor ecx, ecx
cmp word [0x538a8c], 0
mov bl, byte [eax + 4]
mov cl, byte [eax]
mov eax, ebx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], eax
je 0x4417a4
push 0
push 0
push 0
push ecx
movsx ecx, word [edx + 2]
push eax
mov eax, dword [0x538c74]
mov ebx, dword [0x538c1c]
push 0xffffffffffffffff
mov edx, dword [eax + 0x14]
push 0x4240cc
mov ebx, dword [ebx]
sub ecx, edx
mov edx, dword [eax + 0xc]
mov eax, dword [edx + ecx*4]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x4416e9
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [edi + 4]
movsx eax, word [0x53a0d4]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, edx
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edx*4 + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x1c]
sub ecx, edx
xor edx, edx
mov dl, byte [ecx + 1]
cmp eax, edx
jg 0x4418e2
mov ecx, dword [0x53a0c8]
mov eax, esi
push 0
push 0
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, edx
push ebx
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + ecx + 0x14]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl edx, 2
sub eax, edx
mov edx, dword [ebp - 0x1c]
push edx
push esi
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [0x538c1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xf4]
test eax, eax
fnclex
jge 0x44179c
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
inc dword [ebp - 0x1c]
jmp 0x4416fc
lea ecx, [ecx + ecx*2]
lea eax, [eax + eax*4]
push 0
mov ebx, dword [0x538c1c]
lea ecx, [ecx + ecx*4]
lea eax, [eax + eax*4]
shl eax, 5
lea ecx, [ecx + ecx*4]
mov ebx, dword [ebx]
shl ecx, 3
push ecx
push eax
mov eax, dword [0x538c74]
mov dword [ebp - 0x78], ecx
movsx ecx, word [edx + 2]
mov edx, dword [eax + 0x14]
push 0
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0
push 0
mov eax, dword [edx + ecx*4]
push 0x4240cc
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x441826
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [edi + 4]
inc ebx
movsx eax, word [0x53a0d4]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, edx
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edx*4 + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x14]
sub ecx, edx
xor edx, edx
mov dl, byte [ecx + 1]
cmp ebx, edx
jg 0x4418df
mov ecx, dword [0x53a0c8]
mov eax, esi
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, edx
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + ecx + 0x14]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl edx, 2
sub eax, edx
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [0x538c1c]
push eax
lea eax, [ebx + ebx*4]
mov edx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 5
push eax
push 0
push 0
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441832
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
jmp 0x441832
mov ebx, dword [ebp - 0x18]
mov ecx, dword [0x53a0c8]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov edx, 2
sub edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [eax + edx*4], ebx
mov edx, dword [edi + 4]
movsx eax, word [0x53a0d4]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*4 + 4]
mov eax, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
movsx edx, word [edx + eax*4 + 2]
mov eax, esi
jmp 0x4431b1
cmp bl, 8
jne 0x441cd4
mov dx, word [eax + 2]
test dx, dx
jle 0x4433e3
mov ecx, dword [0x538c1c]
cmp word [0x538a8c], 0
mov eax, dword [eax + 8]
push 0
mov ebx, dword [ecx]
push 0
je 0x441ab3
mov ecx, dword [eax + 0xc]
push 0
sub ecx, dword [eax + 0x14]
xor eax, eax
push 0
mov al, byte [ecx]
push eax
mov eax, dword [0x538c6c]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0xffffffffffffffff
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0x4243c0
mov eax, dword [edx + ecx*8]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x4419d5
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ebx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
sub eax, ebx
push 0
push 0
push 1
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 0x14]
xor eax, eax
mov al, byte [ecx + 1]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441a49
mov edx, dword [0x538c1c]
push 0xf4
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx eax, word [0x53a0d4]
mov ecx, dword [ebp - 0x68]
sub eax, ebx
push 0
push 0
lea eax, [eax + eax*2]
push 2
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 0x14]
xor eax, eax
mov al, byte [ecx + 2]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441c1f
mov edx, dword [0x538c1c]
push 0xf4
push 0x420690
push edx
jmp 0x441c18
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 0x14]
movsx edx, dx
movzx ax, byte [ecx]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 5
movsx ecx, ax
mov eax, dword [0x538c6c]
push ecx
push 0
push 0
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ecx
push 0
push 0x4243c0
mov ecx, dword [eax + edx*8]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, dword [0x538c1c]
push eax
push esi
push edx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x441b27
mov ecx, dword [0x538c1c]
push 0xf0
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ebx, dword [ebp - 0x64]
push 0x258
sub eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 0x14]
movzx ax, byte [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 5
movsx ecx, ax
mov eax, dword [0x538c1c]
push ecx
push 0
push 0
push esi
push eax
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441ba9
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx eax, word [0x53a0d4]
sub eax, ebx
push 0x4b0
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 0x14]
movzx ax, byte [ecx + 2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 5
movsx ecx, ax
mov eax, dword [0x538c1c]
push ecx
push 0
push 0
push esi
push eax
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441c1f
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx eax, word [0x53a0d4]
mov dword [ebp - 0x60], eax
sub eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x53a0c8]
lea edx, [eax + edx*4]
mov eax, esi
sub eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [edx + 8]
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + ecx + 0x14]
movsx ecx, word [edx + 2]
mov dword [ebp - 0x70], eax
mov eax, dword [0x538c6c]
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 0x14]
movzx ax, byte [eax + 3]
shl eax, 3
sub ax, word [edx + ecx*8 + 4]
mov edx, 2
movsx ecx, ax
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
mov dword [eax + edx*4], ecx
mov eax, dword [0x53a0c8]
mov ecx, esi
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + edx + 0xc], 1
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
mov ecx, esi
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov word [ecx + edx + 0x1c], 0xffff
jmp 0x44339d
cmp bl, 9
jne 0x441fa5
cmp word [0x538a8c], 0
mov eax, dword [eax + 8]
je 0x441df1
mov ebx, dword [eax + 0xc]
mov ecx, dword [0x538c1c]
sub ebx, dword [eax + 0x14]
push 0
mov edx, dword [ecx]
xor eax, eax
push 0
push 0
mov al, byte [ebx]
push 0
push eax
push 0xffffffffffffffff
push 0x42439c
push esi
push ecx
call dword [edx + 0xf0]
test eax, eax
fnclex
jge 0x441d36
mov ecx, dword [0x538c1c]
push 0xf0
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx eax, word [0x53a0d4]
mov ebx, dword [ebp - 0x64]
push 0
sub eax, ebx
push 0
push 1
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ebx, dword [eax + 0xc]
sub ebx, dword [eax + 0x14]
xor eax, eax
mov al, byte [ebx + 1]
push eax
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441d9b
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx eax, word [0x53a0d4]
mov ebx, dword [ebp - 0x64]
push 0
sub eax, ebx
push 0
push 2
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ebx, dword [eax + 0xc]
sub ebx, dword [eax + 0x14]
xor eax, eax
mov al, byte [ebx + 2]
push eax
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441f66
jmp 0x441f4e
mov edx, dword [0x538c1c]
mov ecx, dword [eax + 0xc]
push 0
push 0
mov ebx, dword [edx]
mov edx, dword [eax + 0x14]
sub ecx, edx
movzx ax, byte [ecx]
mov ecx, 0x68
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 5
movsx eax, dx
push eax
mov eax, dword [0x538f1c]
push 0
push 0
mov edx, dword [eax + 0x14]
push 0
sub ecx, edx
mov edx, dword [eax + 0xc]
mov eax, dword [edx + ecx*4]
push eax
push 0x4243ac
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x441e75
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ebx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
sub eax, ebx
push 0x258
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ebx, dword [eax + 0xc]
sub ebx, dword [eax + 0x14]
movzx ax, byte [ebx + 1]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 5
movsx eax, ax
push eax
push 0
push 0
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441ef2
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx eax, word [0x53a0d4]
mov ebx, dword [ebp - 0x64]
push 0x4b0
sub eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x538c1c]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ecx]
mov ebx, dword [eax + 0xc]
sub ebx, dword [eax + 0x14]
movzx ax, byte [ebx + 2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 5
movsx eax, ax
push eax
push 0
push 0
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x441f66
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [0x53a0c8]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [edx + eax + 0xc], 0x63
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov word [edx + eax + 0x1c], 0xffff
mov eax, 1
add esi, eax
jmp 0x440b8d
cmp bl, 0xa
jne 0x442040
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
sub edx, ebx
mov al, byte [edx]
test al, al
jbe 0x441fcc
movzx ax, al
dec eax
movsx eax, ax
mov dword [0x539710], eax
mov al, byte [edx + 1]
test al, al
jbe 0x441fe0
movzx ax, al
dec eax
movsx eax, ax
mov dword [0x539714], eax
mov al, byte [edx + 2]
test al, al
jbe 0x441ff4
movzx ax, al
dec eax
movsx eax, ax
mov dword [0x539718], eax
mov al, byte [edx + 3]
test al, al
jbe 0x442008
movzx ax, al
dec eax
movsx eax, ax
mov dword [0x53971c], eax
mov al, byte [edx + 4]
test al, al
jbe 0x44201c
movzx ax, al
dec eax
movsx eax, ax
mov dword [0x539720], eax
mov dl, byte [edx + 5]
test dl, dl
jbe 0x4433e3
movzx dx, dl
dec edx
movsx eax, dx
mov dword [0x539724], eax
mov eax, 1
add esi, eax
jmp 0x440b8d
cmp bl, 0xb
jne 0x4420f9
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x14]
sub edx, ebx
mov cl, byte [edx]
test cl, cl
jne 0x4420aa
mov ax, word [eax + 2]
mov ecx, dword [0x538c08]
add ax, word [0x538f50]
push 0
mov edx, dword [ecx]
push 2
movsx eax, ax
push eax
push ecx
call dword [edx + 0x40]
test eax, eax
fnclex
jge 0x4433dd
push 0x40
mov ecx, dword [0x538c08]
push 0x4222d8
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [0x53a0c8]
mov eax, 1
add esi, eax
jmp 0x440b8d
mov ax, word [eax + 2]
mov edx, dword [0x538c08]
add ax, word [0x538f50]
push 0xffffffffffffffff
mov ebx, dword [edx]
push ecx
movsx ecx, ax
push ecx
push edx
call dword [ebx + 0x40]
test eax, eax
fnclex
jge 0x4433dd
mov edx, dword [0x538c08]
push 0x40
push 0x4222d8
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [0x53a0c8]
mov eax, 1
add esi, eax
jmp 0x440b8d
cmp bl, 0xc
jne 0x442122
movsx eax, word [eax + 2]
mov ecx, dword [0x538c08]
push 0
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x38]
test eax, eax
fnclex
jge 0x4433dd
push 0x38
jmp 0x442085
cmp bl, 0xd
jne 0x44275b
mov ax, word [eax + 2]
test ax, ax
jle 0x4433e3
movsx edx, ax
mov eax, dword [0x538c7c]
push 0x4240e0
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ecx
mov ecx, dword [eax + edx*8]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov eax, dword [0x538c1c]
lea ecx, [ebp - 0x38]
push ecx
push esi
mov edx, dword [eax]
push eax
call dword [edx + 0xec]
test eax, eax
fnclex
jge 0x442193
mov edx, dword [0x538c1c]
push 0xec
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, dword [0x53a0c8]
mov ecx, esi
push eax
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + edx + 4], 0
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
mov ecx, esi
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov word [ecx + edx + 0x1c], 0xffff
mov edx, dword [edi + 4]
movsx ecx, word [0x53a0d4]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 4]
mov ecx, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
mov ecx, dword [edx + ecx*4 + 8]
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x14]
sub edx, ebx
xor ecx, ecx
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov cl, byte [edx]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x7c], ecx
mov ecx, esi
fild dword [ebp - 0x7c]
sub ecx, edx
fmul dword [0x538b60]
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + 0xc]
shl edx, 4
fstp dword [edx + ecx + 8]
lea edx, [ebp - 0x34]
push edx
call ebx
mov ecx, dword [ebp - 0x34]
mov eax, esi
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, edx
lea eax, [eax + eax*2]
shl eax, 4
mov edx, dword [eax + ecx + 0x14]
lea eax, [ebp - 0x30]
push edx
push eax
call ebx
mov ecx, dword [0x53a0c8]
lea edx, [ebp - 0x2c]
push ecx
push edx
call ebx
mov ecx, dword [ebp - 0x2c]
mov eax, esi
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, edx
lea eax, [eax + eax*2]
shl eax, 4
mov edx, dword [eax + ecx + 0x14]
lea eax, [ebp - 0x28]
push edx
push eax
call ebx
mov eax, dword [0x538c1c]
mov ecx, dword [ebp - 0x30]
mov edx, dword [eax]
mov ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
shl ebx, 2
sub ecx, ebx
add ecx, 4
push ecx
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
shl ebx, 2
sub ecx, ebx
push ecx
push 0
push esi
push eax
call dword [edx + 0xf8]
test eax, eax
fnclex
jge 0x4422cc
mov edx, dword [0x538c1c]
push 0xf8
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea eax, [ebp - 0x28]
push eax
call ebx
lea ecx, [ebp - 0x2c]
push ecx
call ebx
lea edx, [ebp - 0x30]
push edx
call ebx
lea eax, [ebp - 0x34]
push eax
call ebx
mov edi, dword [edi + 4]
movsx eax, word [0x53a0d4]
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0xc]
mov dword [ebp - 0x60], eax
sub eax, ecx
lea ecx, [eax + eax*2]
mov eax, esi
mov edx, dword [edx + ecx*4 + 4]
mov ecx, dword [0x53a0c8]
mov ebx, dword [ecx + 0x14]
mov edi, dword [ecx + 0xc]
sub eax, ebx
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov edi, dword [eax + edi + 0x14]
mov eax, esi
sub eax, ebx
lea eax, [eax + eax*2]
movsx edx, word [edx + eax*4 + 2]
mov eax, dword [0x538c7c]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
mov ebx, dword [edi + 0x14]
mov edi, dword [edi + 0xc]
movsx edx, word [eax + edx*8 + 4]
mov eax, 2
sub eax, ebx
mov dword [edi + eax*4], edx
mov ebx, dword [ecx + 0x14]
mov eax, esi
sub eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov edx, dword [edx + eax + 0x14]
mov eax, dword [edx + 0x14]
mov edi, dword [edx + 0xc]
mov ebx, edi
mov dword [ebp - 0x80], eax
lea edx, [eax*4]
sub ebx, edx
mov dword [ebp - 0x84], ebx
mov ebx, 2
sub ebx, eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 4]
cdq
idiv dword [edi + ebx*4]
mov ebx, dword [ebp - 0x80]
mov edx, 3
sub edx, ebx
dec eax
mov dword [edi + edx*4], eax
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x60]
mov edx, dword [edi + 4]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*4 + 4]
mov eax, esi
sub eax, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4 + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
sub edx, ebx
mov al, byte [edx + 1]
test al, al
je 0x44267d
cmp al, 1
je 0x44267d
cmp al, 2
je 0x44267d
cmp al, 3
je 0x44267d
cmp al, 4
je 0x4425bd
cmp al, 5
je 0x4425bd
cmp al, 6
je 0x4425bd
cmp al, 7
je 0x4425bd
cmp al, 8
je 0x4424e9
cmp al, 9
je 0x4424e9
cmp al, 0xa
je 0x4424e9
cmp al, 0xb
je 0x4424e9
cmp al, 0xc
je 0x44244a
cmp al, 0xd
je 0x44244a
cmp al, 0xe
je 0x44244a
cmp al, 0xf
jne 0x4433e3
mov ebx, dword [ecx + 0x14]
movzx ax, al
add eax, 5
movsx edx, ax
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov dword [eax + ebx + 0xc], edx
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x88], eax
lea ebx, [edx*4]
sub eax, ebx
mov ebx, 0x190
sub ebx, dword [eax]
mov eax, 4
sub eax, edx
mov edx, dword [ebp - 0x88]
mov dword [edx + eax*4], ebx
mov ebx, dword [ecx + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, esi
sub eax, ebx
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + edx + 0x14]
mov edx, 5
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
mov dword [eax + edx*4], 0
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
jmp 0x44259f
mov ebx, dword [ecx + 0x14]
xor dx, dx
mov dl, al
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
inc edx
lea eax, [eax + eax*2]
movsx edx, dx
shl eax, 4
mov dword [eax + ebx + 0xc], edx
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x88], eax
lea ebx, [edx*4]
sub eax, ebx
mov ebx, 0x190
sub ebx, dword [eax]
mov eax, 4
sub eax, edx
mov edx, dword [ebp - 0x88]
mov dword [edx + eax*4], ebx
mov ebx, dword [ecx + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, esi
sub eax, ebx
mov ebx, 2
lea eax, [eax + eax*2]
shl eax, 4
mov edx, dword [eax + edx + 0x14]
mov eax, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x80], eax
sub ebx, eax
mov eax, 0x12c
mov dword [ebp - 0x88], edx
sub eax, dword [edx + ebx*4]
mov ebx, dword [ebp - 0x80]
mov edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x88]
mov dword [ebx + edx*4], eax
mov ebx, dword [ecx + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, esi
sub eax, ebx
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + edx + 0x14]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl edx, 2
sub eax, edx
mov dword [eax + 4], 2
mov eax, 1
add esi, eax
jmp 0x440b8d
mov ebx, dword [ecx + 0x14]
xor dx, dx
mov dl, al
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
add edx, 5
lea eax, [eax + eax*2]
movsx edx, dx
shl eax, 4
mov dword [eax + ebx + 0xc], edx
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x88], eax
lea edx, [ebx*4]
sub eax, edx
mov eax, dword [eax]
cdq
sub eax, edx
mov edx, 0x190
sar eax, 1
sub edx, eax
mov eax, 4
sub eax, ebx
mov ebx, dword [ebp - 0x88]
mov dword [ebx + eax*4], edx
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov edx, 5
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
mov dword [eax + edx*4], 0
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl edx, 2
sub eax, edx
mov dword [eax + 4], 1
mov eax, 1
add esi, eax
jmp 0x440b8d
mov ebx, dword [ecx + 0x14]
xor dx, dx
mov dl, al
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
add edx, 9
lea eax, [eax + eax*2]
movsx edx, dx
shl eax, 4
mov dword [eax + ebx + 0xc], edx
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x88], eax
lea edx, [ebx*4]
sub eax, edx
mov eax, dword [eax]
cdq
sub eax, edx
mov edx, 0x190
sar eax, 1
sub edx, eax
mov eax, 4
sub eax, ebx
mov ebx, dword [ebp - 0x88]
mov dword [ebx + eax*4], edx
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov edx, 2
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
mov dword [ebp - 0x88], eax
mov eax, dword [eax + edx*4]
cdq
sub eax, edx
mov edx, 0x12c
sar eax, 1
sub edx, eax
mov eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x88]
mov dword [ebx + eax*4], edx
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl edx, 2
sub eax, edx
mov dword [eax + 4], 1
mov eax, 1
add esi, eax
jmp 0x440b8d
cmp bl, 0xe
jne 0x442b59
mov dx, word [eax + 2]
test dx, dx
jle 0x4433e3
mov eax, dword [eax + 8]
cmp word [0x538a8c], 0
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
je 0x4428e4
mov eax, dword [0x538c1c]
sub ecx, ebx
push 0
push 0
mov ebx, dword [eax]
xor eax, eax
mov al, byte [ecx]
push 0
push eax
xor eax, eax
mov al, byte [ecx + 1]
push eax
mov eax, dword [0x538c74]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0xffffffffffffffff
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0x4240cc
mov eax, dword [edx + ecx*4]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x4427fb
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ecx, dword [ebp - 0x64]
push 0
sub eax, ecx
mov ecx, dword [ebp - 0x68]
push 0
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 8]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x14]
sub eax, edx
mov ecx, dword [0x538c1c]
movzx bx, byte [eax]
inc ebx
mov edx, dword [ecx]
movsx ebx, bx
push ebx
xor ebx, ebx
mov bl, byte [eax + 2]
push ebx
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x442872
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx eax, word [0x53a0d4]
mov ecx, dword [ebp - 0x64]
push 0
sub eax, ecx
push 0
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 8]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x14]
sub eax, edx
mov ecx, dword [0x538c1c]
movzx bx, byte [eax]
add ebx, 2
mov edx, dword [ecx]
movsx ebx, bx
push ebx
xor ebx, ebx
mov bl, byte [eax + 3]
push ebx
push esi
push ecx
call dword [edx + 0xf4]
test eax, eax
fnclex
jge 0x442a89
mov ecx, dword [0x538c1c]
push 0xf4
push 0x420690
push ecx
jmp 0x442a82
mov eax, dword [0x538c1c]
sub ecx, ebx
push 0
mov ebx, dword [eax]
movzx ax, byte [ecx]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
movsx eax, ax
push eax
movzx ax, byte [ecx + 1]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 5
movsx eax, cx
push eax
mov eax, dword [0x538c74]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0
push 0
mov eax, dword [edx + ecx*4]
push 0x4240cc
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x442972
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ecx, dword [ebp - 0x64]
sub eax, ecx
mov ecx, dword [ebp - 0x68]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 8]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x14]
sub eax, edx
mov edx, dword [0x538c1c]
movzx cx, byte [eax]
movzx ax, byte [eax + 2]
inc ecx
mov ebx, dword [edx]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*2]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl eax, 5
lea ecx, [ecx + ecx*4]
shl ecx, 3
movsx ecx, cx
push ecx
movsx ecx, ax
push ecx
push 0
push 0
push esi
push edx
call dword [ebx + 0xf4]
test eax, eax
fnclex
jge 0x442a01
mov edx, dword [0x538c1c]
push 0xf4
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
movsx eax, word [0x53a0d4]
mov ecx, dword [ebp - 0x64]
sub eax, ecx
mov ecx, dword [ebp - 0x68]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 8]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x14]
sub eax, edx
mov edx, dword [0x538c1c]
movzx cx, byte [eax]
movzx ax, byte [eax + 3]
add ecx, 2
mov ebx, dword [edx]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*2]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl eax, 5
lea ecx, [ecx + ecx*4]
shl ecx, 3
movsx ecx, cx
push ecx
movsx ecx, ax
push ecx
push 0
push 0
push esi
push edx
call dword [ebx + 0xf4]
test eax, eax
fnclex
jge 0x442a89
mov edx, dword [0x538c1c]
push 0xf4
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x53a0c8]
mov ecx, esi
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov word [ecx + edx + 0x1c], 0xffff
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
mov ecx, esi
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + edx + 0xc], 3
mov edx, dword [edi + 4]
movsx ecx, word [0x53a0d4]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x60], ecx
sub ecx, ebx
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 4]
mov ecx, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
mov ebx, dword [eax + 0x14]
lea ecx, [ecx + ecx*2]
movsx edx, word [edx + ecx*4 + 2]
mov ecx, esi
sub ecx, ebx
mov ebx, dword [eax + 0xc]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + ebx], edx
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x60]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 4]
mov ecx, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 8]
mov ecx, esi
sub ecx, ebx
mov ebx, dword [edx + 0x14]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov eax, dword [ecx + eax + 0x14]
mov ecx, dword [edx + 0xc]
sub ecx, ebx
xor edx, edx
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dl, byte [ecx]
mov ecx, 2
sub ecx, ebx
mov dword [eax + ecx*4], edx
jmp 0x4433d7
cmp bl, 0xf
jne 0x442f4f
cmp word [eax + 2], 0
jle 0x4433e3
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
sub edx, ebx
mov ebx, dword [ecx + 0x14]
movzx ax, byte [edx]
shl eax, 3
movsx edx, ax
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov dword [eax + ebx + 0x24], edx
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0x60]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*4 + 4]
mov eax, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4 + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
sub edx, ebx
mov ebx, dword [ecx + 0x14]
movzx ax, byte [edx + 1]
lea eax, [eax + eax*2]
shl eax, 1
movsx edx, ax
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov dword [eax + ebx + 0x28], edx
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov word [edx + eax + 0x1c], 0xffff
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0x60]
mov ebx, dword [ecx + 0x14]
sub eax, dword [edi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0xc]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + edx*4 + 4]
mov eax, esi
sub eax, ebx
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov edi, dword [eax + edi + 0x14]
mov eax, esi
sub eax, ebx
lea eax, [eax + eax*2]
movsx eax, word [edx + eax*4 + 2]
mov edx, dword [0x5398c8]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
mov ebx, dword [edi + 0x14]
mov edi, dword [edi + 0xc]
lea eax, [eax + eax*8]
shl ebx, 2
mov eax, dword [edx + eax*4]
mov edx, dword [ebp + 8]
sub edi, ebx
mov dword [edi + 4], eax
mov edx, dword [edx + 4]
mov eax, dword [ebp - 0x60]
mov edi, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov ebx, dword [ecx + 0x14]
sub eax, edi
mov edi, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*4 + 4]
mov eax, esi
sub eax, ebx
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov edi, dword [eax + edi + 0x14]
mov eax, esi
sub eax, ebx
lea eax, [eax + eax*2]
movsx eax, word [edx + eax*4 + 2]
mov edx, dword [0x5398c8]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
mov ebx, 2
sub ebx, dword [edi + 0x14]
mov edi, dword [edi + 0xc]
lea eax, [eax + eax*8]
mov eax, dword [edx + eax*4 + 8]
mov edx, dword [ebp + 8]
mov dword [edi + ebx*4], eax
mov eax, dword [ebp - 0x60]
mov edx, dword [edx + 4]
mov ebx, dword [ecx + 0x14]
mov edi, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, edi
mov edi, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*4 + 4]
mov eax, esi
sub eax, ebx
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov edi, dword [eax + edi + 0x14]
mov eax, esi
sub eax, ebx
lea eax, [eax + eax*2]
movsx eax, word [edx + eax*4 + 2]
mov edx, dword [0x5398c8]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
mov ebx, 3
sub ebx, dword [edi + 0x14]
mov edi, dword [edi + 0xc]
lea eax, [eax + eax*8]
mov eax, dword [edx + eax*4 + 0xc]
mov dword [edi + ebx*4], eax
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
add eax, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [eax + 0x14]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl edx, 2
sub eax, edx
mov dword [ebp - 0x90], eax
cmp dword [eax + 4], 0xffffffff
jne 0x442df3
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x60]
mov edx, eax
mov ebx, dword [edi + 4]
sub edx, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea edx, [edx + edx*2]
mov ebx, dword [ebx + edx*4 + 4]
mov edx, esi
sub edx, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea edx, [edx + edx*2]
movsx edx, word [ebx + edx*4 + 2]
mov ebx, dword [ebp - 0x90]
mov dword [ebx], edx
mov edx, dword [edi + 4]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*4 + 4]
mov eax, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
mov ebx, dword [ecx + 0x14]
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*4 + 8]
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + ebx + 0x14]
mov ebx, dword [edx + 0xc]
sub ebx, dword [edx + 0x14]
xor edx, edx
mov dl, byte [ebx + 2]
mov ebx, 4
sub ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4], edx
mov edx, dword [ecx + 0x14]
mov eax, esi
sub eax, edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [edx + eax + 0xc], 0x62
mov eax, 1
add esi, eax
jmp 0x440b8d
mov edx, dword [ebp + 8]
mov edi, dword [ebp - 0x60]
mov eax, edi
mov edx, dword [edx + 4]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*4 + 4]
mov eax, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
movsx eax, word [edx + eax*4 + 2]
mov edx, dword [0x5398c8]
mov ebx, dword [edx + 0x14]
sub eax, ebx
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*8]
fild dword [ebx + eax*4 + 0x18]
mov eax, dword [ebp - 0x8c]
fmul dword [0x538b5c]
fstp dword [eax + 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edi, ebx
mov ebx, dword [ecx + 0x14]
lea edi, [edi + edi*2]
mov edi, dword [eax + edi*4 + 4]
mov eax, esi
sub eax, ebx
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
mov ebx, dword [eax + ebx + 0x14]
mov eax, esi
sub eax, dword [edi + 0x14]
mov edi, dword [edi + 0xc]
lea eax, [eax + eax*2]
movsx eax, word [edi + eax*4 + 2]
mov edi, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub eax, edi
mov edi, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
lea eax, [eax + eax*8]
shl edi, 2
mov eax, dword [edx + eax*4 + 0x10]
sub ebx, edi
mov dword [ebx], eax
mov ebx, dword [ecx + 0x14]
mov eax, esi
sub eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x14]
mov edx, 2
mov edi, dword [eax + 0x14]
mov ebx, dword [eax + 0xc]
sub edx, edi
mov eax, dword [ebx + edx*4]
cdq
sub eax, edx
mov edx, 4
sub edx, edi
sar eax, 1
mov dword [ebx + edx*4], eax
mov ebx, dword [ecx + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, esi
sub eax, ebx
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + edx + 0x14]
mov edi, dword [eax + 0x14]
mov ebx, dword [eax + 0xc]
mov eax, 3
sub eax, edi
mov eax, dword [ebx + eax*4]
cdq
sub eax, edx
mov edx, 5
sub edx, edi
sar eax, 1
mov dword [ebx + edx*4], eax
mov edi, dword [ecx + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, esi
sub eax, edi
lea eax, [eax + eax*2]
shl eax, 4
add edx, eax
mov eax, dword [edx + 0x14]
mov edi, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl edi, 2
sub eax, edi
cmp dword [eax], 0
jne 0x442f39
mov edi, dword [ebp + 8]
mov eax, 1
mov dword [edx + 0xc], 0xf
add esi, eax
jmp 0x440b8d
mov edi, dword [ebp + 8]
mov eax, 1
mov dword [edx + 0xc], 0x13
add esi, eax
jmp 0x440b8d
cmp bl, 0x10
jne 0x4431c7
mov dx, word [eax + 2]
test dx, dx
jle 0x4433e3
mov eax, dword [eax + 8]
cmp word [0x538a8c], 0
mov ecx, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
je 0x442fd9
mov eax, dword [0x538c1c]
sub ecx, edi
push 0
push 0
mov edi, dword [eax]
xor eax, eax
mov al, byte [ecx + 1]
push 0
push eax
xor eax, eax
mov al, byte [ecx]
push eax
mov eax, dword [0x538c74]
movsx ecx, dx
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, ebx
push 0xffffffffffffffff
push 0x4240cc
mov eax, dword [edx + ecx*4]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [edi + 0xf0]
test eax, eax
fnclex
jge 0x443067
jmp 0x44304f
mov eax, dword [0x538c1c]
sub ecx, edi
push 0
mov edi, dword [eax]
movzx ax, byte [ecx + 1]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
movsx eax, ax
push eax
movzx ax, byte [ecx]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 5
movsx eax, cx
push eax
mov eax, dword [0x538c74]
movsx ecx, dx
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, ebx
push 0
push 0
push 0
mov eax, dword [edx + ecx*4]
push 0x4240cc
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [edi + 0xf0]
test eax, eax
fnclex
jge 0x443067
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x64]
mov eax, dword [0x53a0c8]
xor ecx, ecx
mov cl, byte [edx]
mov edi, dword [eax + 0x14]
sub ecx, ebx
mov ebx, dword [ebp - 0x68]
lea edx, [ecx + ecx*2]
mov ecx, esi
sub ecx, edi
mov edi, dword [eax + 0xc]
mov dx, word [ebx + edx*4]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov word [ecx + edi + 0x2c], dx
mov ecx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov ebx, dword [eax + 0x14]
mov edx, dword [ecx + 4]
xor ecx, ecx
mov cl, byte [edi]
mov edi, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, edi
lea edi, [ecx + ecx*2]
mov ecx, esi
sub ecx, ebx
mov ebx, dword [eax + 0xc]
mov dx, word [edx + edi*4 + 2]
mov edi, dword [ebp + 8]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov word [ecx + ebx + 0x2e], dx
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
mov ecx, esi
sub ecx, ebx
or ebx, 0xffffffff
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov word [ecx + edx + 0x1c], bx
mov edx, dword [eax + 0x14]
mov ecx, esi
sub ecx, edx
mov edx, dword [eax + 0xc]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + edx + 0xc], 0x11
mov edx, dword [edi + 4]
movsx ecx, word [0x53a0d4]
sub ecx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 4]
mov ecx, esi
sub ecx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 8]
mov ecx, dword [edx + 0xc]
sub ecx, dword [edx + 0x14]
mov edx, esi
sub edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
lea edx, [edx + edx*2]
shl edx, 4
add eax, edx
xor edx, edx
mov dl, byte [ecx + 3]
push edx
xor edx, edx
mov dl, byte [ecx + 2]
push esi
movsx ecx, word [eax + 0x2e]
push edx
push ecx
movsx edx, word [eax + 0x2c]
push edx
push edi
call fcn.00446940
mov ecx, dword [edi + 4]
mov word [0x53a110], bx
movsx eax, word [0x53a0d4]
mov word [0x53a104], bx
mov ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, ebx
mov dword [0x53a108], 0x3f800000
mov dword [0x53a10c], 0x3d4ccccd
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, esi
sub eax, dword [ecx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x53a0c8]
movsx edx, word [eax + edx*4 + 2]
mov eax, esi
mov ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub eax, ebx
lea eax, [eax + eax*2]
shl eax, 4
mov dword [eax + ecx], edx
jmp 0x4433d7
cmp bl, 0x11
jne 0x4433e3
mov dx, word [eax + 2]
test dx, dx
jle 0x4433e3
mov eax, dword [eax + 8]
cmp word [0x538a8c], 0
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
je 0x443251
mov eax, dword [0x538c1c]
sub ecx, ebx
push 0
push 0
mov ebx, dword [eax]
xor eax, eax
mov al, byte [ecx + 1]
push 0
push eax
xor eax, eax
mov al, byte [ecx]
push eax
mov eax, dword [0x538c6c]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0xffffffffffffffff
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0x4243c0
mov eax, dword [edx + ecx*8]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x4432df
jmp 0x4432c7
mov eax, dword [0x538c1c]
sub ecx, ebx
push 0
mov ebx, dword [eax]
movzx ax, byte [ecx + 1]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
movsx eax, ax
push eax
movzx ax, byte [ecx]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 5
movsx eax, cx
push eax
mov eax, dword [0x538c6c]
movsx ecx, dx
mov edx, dword [eax + 0x14]
push 0
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0
push 0
mov eax, dword [edx + ecx*8]
push 0x4243c0
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ecx, dword [0x538c1c]
push eax
push esi
push ecx
call dword [ebx + 0xf0]
test eax, eax
fnclex
jge 0x4432df
mov edx, dword [0x538c1c]
push 0xf0
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [0x53a0d4]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
sub eax, ecx
mov ecx, dword [ebp - 0x68]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*4 + 4]
mov ebx, dword [ecx + 0x14]
mov eax, esi
sub eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x53a0c8]
lea edx, [eax + edx*4]
mov eax, esi
sub eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [edx + 8]
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + ecx + 0x14]
movsx ecx, word [edx + 2]
mov dword [ebp - 0x70], eax
mov eax, dword [0x538c6c]
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 0x14]
movzx ax, byte [eax + 2]
shl eax, 3
sub ax, word [edx + ecx*8 + 4]
mov edx, 2
movsx ecx, ax
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
mov dword [eax + edx*4], ecx
mov eax, dword [0x53a0c8]
mov ecx, esi
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov word [ecx + edx + 0x1c], 0xffff
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
mov ecx, esi
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + edx + 0xc], 1
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x60]
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
lea ecx, [ecx + ecx*2]
mov edx, dword [edx + ecx*4 + 4]
mov ecx, esi
mov ebx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
sub ecx, ebx
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
lea ecx, [ecx + ecx*2]
movsx edx, word [edx + ecx*4 + 2]
mov ecx, esi
sub ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [ecx + eax], edx
push esi
call fcn.0044c290
mov ecx, dword [0x53a0c8]
mov eax, 1
add esi, eax
jmp 0x440b8d
xor edi, edi
call fcn.0043f4a0
cmp word [0x53a110], di
jne 0x443497
cmp word [ebp + 0x18], di
jne 0x443424
mov ecx, dword [0x53a108]
push ecx
push 0x209
push 0x53a0dc
push 0x53a0d8
call fcn.0043e400
cmp dword [0x539838], 0xc8
jne 0x443497
movsx ecx, word [0x53a0e0]
mov esi, dword [0x53a0c8]
mov eax, ecx
mov edx, dword [0x538c1c]
push 0xffffffffffffffff
sub eax, dword [esi + 0x14]
mov esi, dword [esi + 0xc]
mov ebx, dword [edx]
push edi
push 0x3f800000
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + esi + 0x18]
push eax
mov eax, dword [0x538c48]
push 0x258
push 0x320
push eax
push eax
push ecx
push edx
call dword [ebx + 0xfc]
cmp eax, edi
fnclex
jge 0x443497
mov ecx, dword [0x538c1c]
push 0xfc
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
wait
push 0x4434d8
jmp 0x4434c7
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x20]
call esi
lea ecx, [ebp - 0x24]
call esi
ret