Function at 0x4965a0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x405556
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x402e70
mov ecx, 6
xor eax, eax
lea edi, [ebp - 0x38]
mov edx, dword [0x54ef68]
rep stosd dword es:[edi], eax
mov eax, dword [0x54eb74]
xor esi, esi
mov dword [ebp - 0x18], esi
lea ecx, [eax + eax*4]
shl ecx, 0xa
add ecx, eax
lea ebx, [edx + ecx*8]
mov cl, byte [ebp + 8]
cmp cl, 1
mov dword [ebp - 0x3c], ebx
je 0x4969e4
cmp cl, 2
je 0x4969e4
cmp cl, 3
je 0x4969e4
mov edx, 4
cmp cl, dl
je 0x4969e4
cmp cl, 5
jne 0x49667c
mov ax, word [ebx + 0xa92]
cmp ax, dx
jle 0x496639
lea esi, [eax - 4]
mov word [ebx + 0xa92], dx
mov ax, word [ebx + 0xa96]
cmp ax, dx
jle 0x496650
lea esi, [esi + eax - 4]
mov word [ebx + 0xa96], dx
mov ax, word [ebx + 0xa94]
cmp ax, dx
jle 0x496667
lea esi, [esi + eax - 4]
mov word [ebx + 0xa94], dx
mov ax, word [ebx + 0xa98]
cmp ax, dx
jle 0x4969b7
jmp 0x4969ac
cmp cl, 6
jne 0x496714
mov byte [ebp - 0x50], dl
mov cl, 1
mov al, byte [ebp - 0x50]
mov byte [ebp + 8], cl
cmp cl, al
ja 0x496abb
xor ax, ax
mov al, cl
lea eax, [eax + eax*4]
movsx ecx, ax
add eax, 0xfffffffc
mov dword [ebp - 0x70], ecx
movsx edi, ax
cmp edi, dword [ebp - 0x70]
jg 0x4966f1
lea edx, [edi + edi*2]
lea eax, [ebx + edx*8]
mov dl, byte [eax + 0xdf4]
test dl, dl
lea ecx, [eax + 0xdf4]
jbe 0x4966ce
mov dword [ebp - 0x18], 0xffffffff
movzx ax, byte [eax + 0xdf7]
lea edx, [ebp - 0x38]
add esi, eax
push edx
push ecx
push 0x41e600
call dword [sym.imp.MSVBVM60.DLL___vbaRecAssign]
mov eax, 1
add edi, eax
jmp 0x4966ac
mov eax, dword [ebp + 8]
mov cl, byte [ebp + 8]
and eax, 0xff
add word [ebx + eax*2 + 0xa88], si
lea eax, [ebx + eax*2 + 0xa88]
mov al, 1
add cl, al
jmp 0x49668a
cmp cl, 7
jne 0x4967c1
mov byte [ebp - 0x58], dl
mov cl, 1
mov al, byte [ebp - 0x58]
mov byte [ebp + 8], cl
cmp cl, al
ja 0x496abb
xor ax, ax
mov al, cl
lea eax, [eax + eax*4]
movsx ecx, ax
add eax, 0xfffffffc
mov dword [ebp - 0x78], ecx
movsx eax, ax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x78]
jg 0x49679e
lea edx, [eax + eax*2]
lea edi, [ebx + edx*8]
mov al, byte [edi + 0xdf4]
lea ebx, [edi + 0xdf4]
push eax
call fcn.004963a0
test ax, ax
je 0x49678a
movzx cx, byte [edi + 0xdf7]
lea edx, [ebp - 0x38]
add esi, ecx
push edx
push ebx
push 0x41e600
call dword [sym.imp.MSVBVM60.DLL___vbaRecAssign]
mov dword [ebp - 0x18], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x3c]
mov eax, 1
add ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, ecx
jmp 0x496747
mov eax, dword [ebp + 8]
mov cl, byte [ebp + 8]
and eax, 0xff
add word [ebx + eax*2 + 0xa88], si
lea eax, [ebx + eax*2 + 0xa88]
mov al, 1
add cl, al
jmp 0x496722
cmp cl, 8
jne 0x4968be
mov byte [ebp - 0x60], dl
mov dl, 1
mov cl, byte [ebp - 0x60]
mov byte [ebp + 8], dl
cmp dl, cl
ja 0x496abb
xor cx, cx
mov cl, dl
lea ecx, [ecx + ecx*4]
movsx edx, cx
add ecx, 0xfffffffc
mov dword [ebp - 0x80], edx
movsx ecx, cx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x80]
jg 0x49688c
imul eax, eax, 0x6ab
add eax, ecx
mov ecx, dword [0x54ef68]
lea eax, [eax + eax*2]
mov bl, byte [ecx + eax*8 + 0xdf4]
lea edi, [ecx + eax*8 + 0xdf4]
push ebx
call fcn.004963a0
test ax, ax
je 0x496872
mov al, byte [edi + 3]
test al, al
jbe 0x496872
xor dx, dx
mov byte [edi + 3], 0
mov dl, al
xor ax, ax
mov al, bl
add esi, edx
mov edx, dword [0x54f648]
add eax, 0x64
movsx ecx, ax
lea eax, [ecx*4 + 0x30]
mov ecx, dword [0x54f664]
mov dword [eax + edx], 0
mov edx, dword [0x54f680]
mov dword [eax + ecx], 0
mov dword [eax + edx], 0
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x3c]
mov eax, 1
add ecx, eax
mov eax, dword [0x54eb74]
mov dword [ebp - 0x14], ecx
jmp 0x4967f4
test si, si
jle 0x496898
mov dword [ebp - 0x18], 0xffffffff
mov ecx, dword [ebp + 8]
mov dl, byte [ebp + 8]
and ecx, 0xff
add word [ebx + ecx*2 + 0xa88], si
lea ecx, [ebx + ecx*2 + 0xa88]
mov cl, 1
xor esi, esi
add dl, cl
jmp 0x4967cf
cmp cl, 0x19
je 0x4969cc
cmp cl, 0x32
je 0x4969cc
cmp cl, 0x4b
je 0x4969cc
cmp cl, 0x64
je 0x4969cc
cmp cl, 0xc9
jne 0x49690f
mov cl, byte [eax + 0x54f49f]
test cl, cl
jne 0x496abb
push 0x3cf5c28f
push 0xffffffffffffffff
push 0
push 0
push 0x425d34
call fcn.00470e60
jmp 0x496abb
cmp cl, 0xca
jne 0x496932
movzx dx, byte [ebx]
mov ax, word [0x54ece0]
cmp dx, ax
jge 0x496abb
push eax
call fcn.0048c420
jmp 0x496ab4
cmp cl, 0xcb
jne 0x49694a
call fcn.004963c0
test ax, ax
je 0x496abb
jmp 0x496ab4
cmp cl, 0xcc
jne 0x496abb
cmp byte [ebx], 0x15
jae 0x496abb
mov ax, word [ebx + 0xa92]
cmp ax, dx
jle 0x496972
lea esi, [eax - 4]
mov word [ebx + 0xa92], dx
mov ax, word [ebx + 0xa96]
cmp ax, dx
jle 0x496989
lea esi, [esi + eax - 4]
mov word [ebx + 0xa96], dx
mov ax, word [ebx + 0xa94]
cmp ax, dx
jle 0x4969a0
lea esi, [esi + eax - 4]
mov word [ebx + 0xa94], dx
mov ax, word [ebx + 0xa98]
cmp ax, dx
jle 0x4969b7
lea esi, [esi + eax - 4]
mov word [ebx + 0xa98], dx
add word [ebx + 0xa88], si
test si, si
jle 0x496abb
jmp 0x496ab4
cmp byte [ebx], cl
jae 0x496abb
xor ax, ax
mov al, cl
push eax
call fcn.0048c420
jmp 0x496ab4
movzx cx, cl
lea ecx, [ecx + ecx*4]
movsx edx, cx
add ecx, 0xfffffffc
mov dword [ebp - 0x68], edx
movsx ecx, cx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x68]
jg 0x496a98
imul eax, eax, 0x6ab
add eax, ecx
mov ecx, dword [0x54ef68]
lea eax, [eax + eax*2]
lea edi, [ecx + eax*8 + 0xdf4]
mov al, byte [ecx + eax*8 + 0xdf4]
push eax
mov byte [ebp - 0x88], al
call fcn.004963a0
test ax, ax
jne 0x496a81
mov al, byte [edi + 3]
test al, al
jbe 0x496a81
xor dx, dx
mov byte [edi + 3], 0
mov dl, al
movzx ax, byte [ebp - 0x88]
add esi, edx
mov edx, dword [0x54f648]
add eax, 0x64
movsx ecx, ax
lea eax, [ecx*4 + 0x30]
mov ecx, dword [0x54f664]
mov dword [eax + edx], 0
mov edx, dword [0x54f680]
mov dword [eax + ecx], 0
mov dword [eax + edx], 0
mov ecx, dword [ebp - 0x14]
mov eax, 1
add ecx, eax
mov eax, dword [0x54eb74]
mov dword [ebp - 0x14], ecx
jmp 0x4969fa
mov eax, dword [ebp + 8]
and eax, 0xff
add word [ebx + eax*2 + 0xa88], si
lea ebx, [ebx + eax*2 + 0xa88]
test si, si
jle 0x496abb
mov dword [ebp - 0x18], 0xffffffff
push 0
call fcn.004925c0
wait
push 0x496ad8
lea ecx, [ebp - 0x38]
push ecx
push 0x41e600
call dword [sym.imp.MSVBVM60.DLL___vbaRecDestruct]
ret