Function at 0x495c60
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x4054c6
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], 0x402e60
mov ecx, 6
xor eax, eax
lea edi, [ebp - 0x38]
mov edx, dword [0x549f68]
rep stosd dword es:[edi], eax
mov eax, dword [0x549b74]
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 0x4960a4
cmp cl, 2
je 0x4960a4
cmp cl, 3
je 0x4960a4
mov edx, 4
cmp cl, dl
je 0x4960a4
cmp cl, 5
jne 0x495d3c
mov ax, word [ebx + 0xa92]
cmp ax, dx
jle 0x495cf9
lea esi, [eax - 4]
mov word [ebx + 0xa92], dx
mov ax, word [ebx + 0xa96]
cmp ax, dx
jle 0x495d10
lea esi, [esi + eax - 4]
mov word [ebx + 0xa96], dx
mov ax, word [ebx + 0xa94]
cmp ax, dx
jle 0x495d27
lea esi, [esi + eax - 4]
mov word [ebx + 0xa94], dx
mov ax, word [ebx + 0xa98]
cmp ax, dx
jle 0x496077
jmp 0x49606c
cmp cl, 6
jne 0x495dd4
mov byte [ebp - 0x50], dl
mov cl, 1
mov al, byte [ebp - 0x50]
mov byte [ebp + 8], cl
cmp cl, al
ja 0x49617b
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 0x495db1
lea edx, [edi + edi*2]
lea eax, [ebx + edx*8]
mov dl, byte [eax + 0xdf4]
test dl, dl
lea ecx, [eax + 0xdf4]
jbe 0x495d8e
mov dword [ebp - 0x18], 0xffffffff
movzx ax, byte [eax + 0xdf7]
lea edx, [ebp - 0x38]
add esi, eax
push edx
push ecx
push 0x41e524
call dword [sym.imp.MSVBVM60.DLL___vbaRecAssign]
mov eax, 1
add edi, eax
jmp 0x495d6c
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 0x495d4a
cmp cl, 7
jne 0x495e81
mov byte [ebp - 0x58], dl
mov cl, 1
mov al, byte [ebp - 0x58]
mov byte [ebp + 8], cl
cmp cl, al
ja 0x49617b
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 0x495e5e
lea edx, [eax + eax*2]
lea edi, [ebx + edx*8]
mov al, byte [edi + 0xdf4]
lea ebx, [edi + 0xdf4]
push eax
call fcn.00495a60
test ax, ax
je 0x495e4a
movzx cx, byte [edi + 0xdf7]
lea edx, [ebp - 0x38]
add esi, ecx
push edx
push ebx
push 0x41e524
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 0x495e07
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 0x495de2
cmp cl, 8
jne 0x495f7e
mov byte [ebp - 0x60], dl
mov dl, 1
mov cl, byte [ebp - 0x60]
mov byte [ebp + 8], dl
cmp dl, cl
ja 0x49617b
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 0x495f4c
imul eax, eax, 0x6ab
add eax, ecx
mov ecx, dword [0x549f68]
lea eax, [eax + eax*2]
mov bl, byte [ecx + eax*8 + 0xdf4]
lea edi, [ecx + eax*8 + 0xdf4]
push ebx
call fcn.00495a60
test ax, ax
je 0x495f32
mov al, byte [edi + 3]
test al, al
jbe 0x495f32
xor dx, dx
mov byte [edi + 3], 0
mov dl, al
xor ax, ax
mov al, bl
add esi, edx
mov edx, dword [0x54a648]
add eax, 0x64
movsx ecx, ax
lea eax, [ecx*4 + 0x30]
mov ecx, dword [0x54a664]
mov dword [eax + edx], 0
mov edx, dword [0x54a680]
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 [0x549b74]
mov dword [ebp - 0x14], ecx
jmp 0x495eb4
test si, si
jle 0x495f58
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 0x495e8f
cmp cl, 0x19
je 0x49608c
cmp cl, 0x32
je 0x49608c
cmp cl, 0x4b
je 0x49608c
cmp cl, 0x64
je 0x49608c
cmp cl, 0xc9
jne 0x495fcf
mov cl, byte [eax + 0x54a49f]
test cl, cl
jne 0x49617b
push 0x3cf5c28f
push 0xffffffffffffffff
push 0
push 0
push 0x425c68
call fcn.00470580
jmp 0x49617b
cmp cl, 0xca
jne 0x495ff2
movzx dx, byte [ebx]
mov ax, word [0x549ce0]
cmp dx, ax
jge 0x49617b
push eax
call fcn.0048bb40
jmp 0x496174
cmp cl, 0xcb
jne 0x49600a
call fcn.00495a80
test ax, ax
je 0x49617b
jmp 0x496174
cmp cl, 0xcc
jne 0x49617b
cmp byte [ebx], 0x15
jae 0x49617b
mov ax, word [ebx + 0xa92]
cmp ax, dx
jle 0x496032
lea esi, [eax - 4]
mov word [ebx + 0xa92], dx
mov ax, word [ebx + 0xa96]
cmp ax, dx
jle 0x496049
lea esi, [esi + eax - 4]
mov word [ebx + 0xa96], dx
mov ax, word [ebx + 0xa94]
cmp ax, dx
jle 0x496060
lea esi, [esi + eax - 4]
mov word [ebx + 0xa94], dx
mov ax, word [ebx + 0xa98]
cmp ax, dx
jle 0x496077
lea esi, [esi + eax - 4]
mov word [ebx + 0xa98], dx
add word [ebx + 0xa88], si
test si, si
jle 0x49617b
jmp 0x496174
cmp byte [ebx], cl
jae 0x49617b
xor ax, ax
mov al, cl
push eax
call fcn.0048bb40
jmp 0x496174
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 0x496158
imul eax, eax, 0x6ab
add eax, ecx
mov ecx, dword [0x549f68]
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.00495a60
test ax, ax
jne 0x496141
mov al, byte [edi + 3]
test al, al
jbe 0x496141
xor dx, dx
mov byte [edi + 3], 0
mov dl, al
movzx ax, byte [ebp - 0x88]
add esi, edx
mov edx, dword [0x54a648]
add eax, 0x64
movsx ecx, ax
lea eax, [ecx*4 + 0x30]
mov ecx, dword [0x54a664]
mov dword [eax + edx], 0
mov edx, dword [0x54a680]
mov dword [eax + ecx], 0
mov dword [eax + edx], 0
mov ecx, dword [ebp - 0x14]
mov eax, 1
add ecx, eax
mov eax, dword [0x549b74]
mov dword [ebp - 0x14], ecx
jmp 0x4960ba
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 0x49617b
mov dword [ebp - 0x18], 0xffffffff
push 0
call fcn.00491c30
wait
push 0x496198
lea ecx, [ebp - 0x38]
push ecx
push 0x41e524
call dword [sym.imp.MSVBVM60.DLL___vbaRecDestruct]
ret